Show / Hide Table of Contents

Class VersionableBase

Defines the basic identification of a repository-managed item: agency identifier, identifier, and item version. Implements the IVersionable interface.

Inheritance
Object
NotificationObject
IdentifiableBase
VersionableBase
DescribableBase
OtherMaterial
Implements
INotifyPropertyChanged
IVersionable
IIdentifiable
IVisitable
IHasCustomFields
Inherited Members
IdentifiableBase.DefaultAgencyId
IdentifiableBase.AgencyId
IdentifiableBase.Identifier
IdentifiableBase.UserIds
IdentifiableBase.GetUserIdValue(String)
NotificationObject.PropertyChanged
NotificationObject.RaisePropertyChanged(String)
NotificationObject.RaisePropertyChanged(String[])
NotificationObject.RaisePropertyChanged<T>(Expression<Func<T>>)
NotificationObject.OnPropertyChanged(String)
NotificationObject.ResumePropertyEvents()
NotificationObject.SuspendPropertyEvents()
NotificationObject.PropertyEventsSuspended
NotificationObject.PropagateChildChanges(INotifyCollectionChanged, String)
Object.Equals(Object)
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Namespace: Algenta.Colectica.Model
Assembly: Algenta.Colectica.Model.dll
Syntax
public abstract class VersionableBase : IdentifiableBase, INotifyPropertyChanged, IVersionable, IIdentifiable, IVisitable, IHasCustomFields

Constructors

VersionableBase()

Initializes a new instance of the VersionableBase class. Sets the AgencyId to the value of DefaultAgencyId.

Declaration
protected VersionableBase()

Properties

Attachments

Gets a collection of file URIs stored in the File Storage Service attached to this item.

Declaration
public virtual ObservableCollection<Attachment> Attachments { get; }
Property Value
Type Description
ObservableCollection<Attachment>

BannerImageUri

Gets or sets the image to use as a banner.

Declaration
public Uri BannerImageUri { get; set; }
Property Value
Type Description
Uri

BasedOn

Gets a collection that describes previous items on which this item is based

Declaration
public BasedOn BasedOn { get; set; }
Property Value
Type Description
BasedOn

ChildrenDereferenced

Gets or sets a value indicating whether the item's children have been dereferenced.

Declaration
public bool ChildrenDereferenced { get; set; }
Property Value
Type Description
Boolean

true if the item's children have been dereferenced; otherwise, false.

ChildTypesAccepted

Gets the child types that may be added to this item type.

Declaration
public virtual Collection<Guid> ChildTypesAccepted { get; }
Property Value
Type Description
Collection<Guid>

The child types that may be added to this item type.

CompositeId

Gets or sets the item's composite id, consisting of the agency identifier, identifier, and version.

Declaration
public IdentifierTriple CompositeId { get; set; }
Property Value
Type Description
IdentifierTriple

The item's composite identifier.

Exceptions
Type Condition
ArgumentNullException

value

CustomFields

Gets a collection of custom fields defined for this item.

Declaration
public ObservableCollection<CustomField> CustomFields { get; }
Property Value
Type Description
ObservableCollection<CustomField>

DisplayLabel

Gets the display label.

Declaration
public virtual string DisplayLabel { get; }
Property Value
Type Description
String

The display label.

IsDirty

Gets or sets a value indicating whether this instance has unsaved changes.

Declaration
[DoNotNotify]
public virtual bool IsDirty { get; set; }
Property Value
Type Description
Boolean

true if this instance has unsaved changes; otherwise, false.

IsPopulated

Gets or sets a value indicating whether this instance's information is populated.

Declaration
public bool IsPopulated { get; set; }
Property Value
Type Description
Boolean

true if this instance is populated; otherwise, false.

IsPublished

Gets or sets a value indicating whether this instance is published.

Declaration
public bool IsPublished { get; set; }
Property Value
Type Description
Boolean

true if this instance is published; otherwise, false.

ItemType

Gets the universally unique identifier representing the item's type.

Declaration
public abstract Guid ItemType { get; }
Property Value
Type Description
Guid

The identifier representing the item's type.

ManagedCollections

Gets the managed collections.

Declaration
protected Collection<INotifyCollectionChanged> ManagedCollections { get; }
Property Value
Type Description
Collection<INotifyCollectionChanged>

The managed collections.

OtherMaterials

Gets a collection of Other Material fields defined for this item.

Declaration
public ObservableCollection<OtherMaterial> OtherMaterials { get; }
Property Value
Type Description
ObservableCollection<OtherMaterial>

ThumbnailImageUri

Gets or sets the image to use as a thumbnail.

Declaration
public Uri ThumbnailImageUri { get; set; }
Property Value
Type Description
Uri

UserAttributes

Gets a collection of user defined fields defined for this item.

Declaration
public ObservableCollection<UserAttribute> UserAttributes { get; }
Property Value
Type Description
ObservableCollection<UserAttribute>

Version

Gets or sets the version.

Declaration
public long Version { get; set; }
Property Value
Type Description
Int64

The version.

VersionDate

Gets or sets the DateTime this version of the item was created.

Declaration
public DateTime VersionDate { get; set; }
Property Value
Type Description
DateTime

The DateTime this version was created.

VersionRationale

Gets the log message given by the user who created this version of the item.

Declaration
public MultilingualString VersionRationale { get; set; }
Property Value
Type Description
MultilingualString

VersionResponsibility

Gets or sets the name of the user who created this version of the item.

Declaration
public string VersionResponsibility { get; set; }
Property Value
Type Description
String

The name of the user who created this version of the item.

Methods

Accept(IVersionableVisitor)

Accepts the specified visitor.

Declaration
public void Accept(IVersionableVisitor visitor)
Parameters
Type Name Description
IVersionableVisitor visitor

The visitor.

AddChild(IVersionable)

Adds the provided child to this item.

Declaration
public virtual void AddChild(IVersionable child)
Parameters
Type Name Description
IVersionable child

The item to be added as a child of this item.

Exceptions
Type Condition
NotImplementedException

GetChildren()

Gets the identifiers of the item's children.

Declaration
public virtual ChildItemCollection GetChildren()
Returns
Type Description
ChildItemCollection

The identifiers of the item's children.

ManageCollection(INotifyCollectionChanged, String)

Watch collections for changes and relay the change notification upwards.

Declaration
protected void ManageCollection(INotifyCollectionChanged collection, string name)
Parameters
Type Name Description
INotifyCollectionChanged collection
String name

RemoveChild(IVersionable, IList[])

Removes the specified child from any of the provided lists.

Declaration
public static bool RemoveChild(IVersionable itemToRemove, params IList[] lists)
Parameters
Type Name Description
IVersionable itemToRemove

The item to remove.

IList[] lists

The lists from which the child should be removed.

Returns
Type Description
Boolean
Exceptions
Type Condition
ArgumentNullException

itemToRemove

RemoveChild(IdentifierTriple)

Removes the specified child.

Declaration
public virtual int RemoveChild(IdentifierTriple child)
Parameters
Type Name Description
IdentifierTriple child

The child to be removed.

Returns
Type Description
Int32

The number of children removed from the item.

Exceptions
Type Condition
ArgumentNullException

child

RemoveChild(IdentifierTriple, IList[])

Removes the child with the specified identifier from any of the provided lists.

Declaration
public static int RemoveChild(IdentifierTriple itemToRemove, params IList[] lists)
Parameters
Type Name Description
IdentifierTriple itemToRemove

The identifier of the item to remove.

IList[] lists

The lists.

Returns
Type Description
Int32
Exceptions
Type Condition
ArgumentNullException

itemToRemove

ReplaceChild(IdentifierTriple, IVersionable)

Replaces the child with the specified identifier with the provided item.

Declaration
public virtual int ReplaceChild(IdentifierTriple toReplace, IVersionable child)
Parameters
Type Name Description
IdentifierTriple toReplace

The identifier of the child to replace.

IVersionable child

The new child.

Returns
Type Description
Int32

The number of children replaced.

Exceptions
Type Condition
ArgumentNullException

child

ToString()

Returns a String that represents this instance.

Declaration
public override string ToString()
Returns
Type Description
String

A String that represents this instance.

Overrides
Object.ToString()

TryReplaceChild<T>(Func<T>, Action<T>, IdentifierTriple, IVersionable)

Tries the replace child.

Declaration
public static int TryReplaceChild<T>(Func<T> getter, Action<T> setter, IdentifierTriple toReplace, IVersionable child)

    where T : class, IVersionable
Parameters
Type Name Description
Func<T> getter

A function to get the item that will be replaced.

Action<T> setter

A function to set the item that will be replaced.

IdentifierTriple toReplace

To identifier of the item to replace.

IVersionable child

The child that will replace the previous child.

Returns
Type Description
Int32
Type Parameters
Name Description
T

The type of item being replaced

Implements

System.ComponentModel.INotifyPropertyChanged
IVersionable
IIdentifiable
IVisitable
IHasCustomFields

Extension Methods

Extensions.Yield<T>(T)
In This Article
Back to top Generated by DocFX