Class VersionableBase
Defines the basic identification of a repository-managed item: agency identifier, identifier, and item version. Implements the IVersionable interface.
Inheritance
Inherited Members
Namespace: Algenta.Colectica.Model
Assembly: Algenta.Colectica.Model.dll
Syntax
public abstract class VersionableBase : IdentifiableBase, INotifyPropertyChanged, IVersionable, IIdentifiable, IHasCustomFields, IVisitable
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 |
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. |
ChildrenDereferenced
Gets or sets a value indicating whether the item's children have been dereferenced.
Declaration
[UIHint("skip")]
public bool ChildrenDereferenced { get; set; }
Property Value
Type | Description |
---|---|
bool |
|
CompositeId
Gets or sets the item's composite id, consisting of the agency identifier, identifier, and version.
Declaration
[UIHint("skip")]
public IdentifierTriple CompositeId { get; set; }
Property Value
Type | Description |
---|---|
IdentifierTriple | The item's composite identifier. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | value |
DisableChangeTracking
Disable Change Tracking
Declaration
public static bool DisableChangeTracking { get; set; }
Property Value
Type | Description |
---|---|
bool |
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]
[UIHint("skip")]
public virtual bool IsDirty { get; set; }
Property Value
Type | Description |
---|---|
bool |
|
IsPopulated
Gets or sets a value indicating whether this instance's information is populated.
Declaration
[UIHint("skip")]
public bool IsPopulated { get; set; }
Property Value
Type | Description |
---|---|
bool |
|
IsPublished
Gets or sets a value indicating whether this instance is published.
Declaration
[UIHint("skip")]
public bool IsPublished { get; set; }
Property Value
Type | Description |
---|---|
bool |
|
ItemType
Gets the universally unique identifier representing the item's type.
Declaration
[Display(GroupName = "Basic", Order = 0)]
public abstract Guid ItemType { get; }
Property Value
Type | Description |
---|---|
Guid | The identifier representing the item's type. |
OtherMaterials
Gets a collection of Other Material fields defined for this item.
Declaration
public ObservableCollection<OtherMaterial> OtherMaterials { get; }
Property Value
Type | Description |
---|---|
ObservableCollection<OtherMaterial> |
SucceededBy
If another item should be preferred instead of this item.
Declaration
public TypedIdTriple SucceededBy { get; set; }
Property Value
Type | Description |
---|---|
TypedIdTriple |
ThumbnailImageUri
Gets or sets the image to use as a thumbnail.
Declaration
public Uri ThumbnailImageUri { get; set; }
Property Value
Type | Description |
---|---|
Uri |
Version
Gets or sets the version.
Declaration
[Display(GroupName = "Version", Order = 1000)]
public long Version { get; set; }
Property Value
Type | Description |
---|---|
long | The version. |
VersionDate
Gets or sets the DateTime this version of the item was created.
Declaration
[Display(GroupName = "Version", Order = 1001)]
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
[Display(GroupName = "Version", Order = 1003)]
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
[Display(GroupName = "Version", Order = 1002)]
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 override ChildItemCollection GetChildren()
Returns
Type | Description |
---|---|
ChildItemCollection | The identifiers of the item's children. |
Overrides
RemoveChild(IdentifierTriple)
Removes the specified child.
Declaration
public override int RemoveChild(IdentifierTriple child)
Parameters
Type | Name | Description |
---|---|---|
IdentifierTriple | child | The child to be removed. |
Returns
Type | Description |
---|---|
int | The number of children removed from the item. |
Overrides
Exceptions
Type | Condition |
---|---|
ArgumentNullException | child |
RemoveChildHelper(IVersionable, params IList[])
Removes the specified child from any of the provided lists.
Declaration
public static bool RemoveChildHelper(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 |
---|---|
bool |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | itemToRemove |
ReplaceChild(IdentifierTriple, IVersionable)
Replaces the child with the specified identifier with the provided item.
Declaration
public override 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 |
---|---|
int | The number of children replaced. |
Overrides
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
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 |
---|---|
int |
Type Parameters
Name | Description |
---|---|
T | The type of item being replaced |
WatchProperties()
Watch for property changed events
Declaration
protected override void WatchProperties()