Show / Hide Table of Contents

Class VersionableGroupBase<T, G>

Provides a base class from which classes implementing DDI item groups may derive.

Inheritance
object
NotificationObject
IdentifiableBase
VersionableBase
DescribableBase
VersionableGroupBase<T, G>
CategoryGroup
CodeListGroup
ConceptGroup
ConceptualVariableGroup
ControlConstructGroup
InstructionGroup
InstrumentGroup
ManagedRepresentationGroup
NCubeGroup
OrganizationGroup
OtherMaterialGroup
ProcessingEventGroup
ProcessingInstructionGroup
QualityStatementGroup
QuestionGroup
RepresentedVariableGroup
UnitTypeGroup
UniverseGroup
VariableGroup
Implements
INotifyPropertyChanged
IVersionableGroup
IVersionable
IIdentifiable
IHasCustomFields
IVisitable
IDescribable
Inherited Members
DescribableBase.ItemName
DescribableBase.Label
DescribableBase.Description
DescribableBase.DisplayLabel
DescribableBase.WatchProperties()
VersionableBase.Accept(IVersionableVisitor)
VersionableBase.ItemType
VersionableBase.IsDirty
VersionableBase.IsPublished
VersionableBase.ChildrenDereferenced
VersionableBase.IsPopulated
VersionableBase.Version
VersionableBase.VersionDate
VersionableBase.VersionResponsibility
VersionableBase.VersionRationale
VersionableBase.CompositeId
VersionableBase.OtherMaterials
VersionableBase.BasedOn
VersionableBase.SucceededBy
VersionableBase.Attachments
VersionableBase.ThumbnailImageUri
VersionableBase.BannerImageUri
VersionableBase.DisableChangeTracking
VersionableBase.RemoveChildHelper(IVersionable, params IList[])
VersionableBase.TryReplaceChild<T>(Func<T>, Action<T>, IdentifierTriple, IVersionable)
VersionableBase.ToString()
IdentifiableBase.DefaultAgencyId
IdentifiableBase.AgencyId
IdentifiableBase.Identifier
IdentifiableBase.UserIds
IdentifiableBase.CustomFields
IdentifiableBase.UserAttributes
IdentifiableBase.GetUserIdValue(string)
IdentifiableBase.RemoveChildHelper(IdentifierTriple, params IList[])
NotificationObject.PropertyChanged
NotificationObject.RaisePropertyChanged(string)
NotificationObject.OnPropertyChanged(string)
NotificationObject.ResumePropertyEvents()
NotificationObject.SuspendPropertyEvents()
NotificationObject.PropertyEventsSuspended
NotificationObject.PropagateChildChanges(INotifyCollectionChanged, string)
NotificationObject.WatchProperty(INotifyPropertyChanged, string)
NotificationObject.WatchCollection(INotifyCollectionChanged, string)
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
Namespace: Algenta.Colectica.Model.Ddi
Assembly: Algenta.Colectica.Model.Ddi.dll
Syntax
public abstract class VersionableGroupBase<T, G> : DescribableBase, INotifyPropertyChanged, IVersionableGroup, IVersionable, IIdentifiable, IHasCustomFields, IVisitable, IDescribable where T : class, IVersionable where G : class, IVersionableGroup
Type Parameters
Name Description
T

The .NET type of the items contained in the group.

G

The .NET type of nested groups that may be contained in the group.

Constructors

VersionableGroupBase()

Initializes a new instance of the VersionableGroupBase<T, G> class.

Declaration
public VersionableGroupBase()

Properties

ChildGroupType

Gets the item type of the groups that may be nested within this group.

Declaration
public Guid ChildGroupType { get; protected set; }
Property Value
Type Description
Guid

ChildGroups

Gets the child groups that are nested in this group.

Declaration
[UIHint("skip")]
public ObservableCollection<G> ChildGroups { get; }
Property Value
Type Description
ObservableCollection<G>

ChildGroupsList

Gets the group's child groups cast as an IList.

Declaration
[JsonIgnore]
public IList ChildGroupsList { get; }
Property Value
Type Description
IList

ChildItemType

Gets the item type contained by this group.

Declaration
public Guid ChildItemType { get; protected set; }
Property Value
Type Description
Guid

ChildTypesAccepted

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

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

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

Overrides
VersionableBase.ChildTypesAccepted

Concept

Gets or sets a concept that defines this group.

Declaration
[Display(GroupName = "Basic", Name = "Defining concept", Order = 300)]
public Concept Concept { get; set; }
Property Value
Type Description
Concept

Items

Gets the items contained in the group.

Declaration
[Display(GroupName = "Basic", Order = 10)]
public ObservableCollection<T> Items { get; }
Property Value
Type Description
ObservableCollection<T>

ItemsList

Gets an the group's items cast as an IList.

Declaration
[JsonIgnore]
public IList ItemsList { get; }
Property Value
Type Description
IList

Keywords

Gets a collection of keywords that apply to the group.

Declaration
[Display(GroupName = "Basic", Order = 550)]
public ObservableCollection<CodeValue> Keywords { get; set; }
Property Value
Type Description
ObservableCollection<CodeValue>

Subjects

Gets a collection of subjects that apply to the group.

Declaration
[Display(GroupName = "Basic", Order = 500)]
public ObservableCollection<CodeValue> Subjects { get; set; }
Property Value
Type Description
ObservableCollection<CodeValue>

TypeOfGroup

Gets or sets a type indicating why items are in this group. The term used here may come from a controlled vocabulary.

Declaration
[Display(GroupName = "Basic", Name = "Type of group", Order = 200)]
public CodeValue TypeOfGroup { get; set; }
Property Value
Type Description
CodeValue

Universes

Gets or sets a universe that defines this group.

Declaration
[Display(GroupName = "Basic", Name = "Universes", Order = 1000)]
public ObservableCollection<Universe> Universes { get; set; }
Property Value
Type Description
ObservableCollection<Universe>

Methods

AddChild(IVersionable)

Adds the provided child to this item.

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

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

Overrides
VersionableBase.AddChild(IVersionable)
Exceptions
Type Condition
ArgumentNullException

child

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
VersionableBase.GetChildren()

RemoveChild(IVersionable)

Removes the child.

Declaration
public virtual bool RemoveChild(IVersionable child)
Parameters
Type Name Description
IVersionable child

The child.

Returns
Type Description
bool

The number of items removed.

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
VersionableBase.RemoveChild(IdentifierTriple)
Exceptions
Type Condition
ArgumentNullException

child

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
VersionableBase.ReplaceChild(IdentifierTriple, IVersionable)
Exceptions
Type Condition
ArgumentNullException

child

Implements

INotifyPropertyChanged
IVersionableGroup
IVersionable
IIdentifiable
IHasCustomFields
IVisitable
IDescribable

Extension Methods

VersionableCustomFieldExtensions.GetCustomFieldMultilingualStringValue(IHasCustomFields, string)
VersionableCustomFieldExtensions.GetCustomFieldStringValue(IHasCustomFields, string)
VersionableCustomFieldExtensions.GetCustomFieldUriValue(IHasCustomFields, string)
VersionableCustomFieldExtensions.SetCustomField(IHasCustomFields, MultilingualString, IVersionable)
VersionableCustomFieldExtensions.SetCustomField(IHasCustomFields, MultilingualString, string)
VersionableCustomFieldExtensions.SetCustomField(IHasCustomFields, string, IVersionable)
VersionableCustomFieldExtensions.SetCustomField(IHasCustomFields, string, string)
Extensions.GetDdi32FragmentRepresentation(IVersionable, Ddi32Serializer)
Extensions.GetDdi33FragmentRepresentation(IVersionable, Ddi33Serializer)
Extensions.GetDdiFragmentRepresentation(IVersionable, DDIWorkflowSerializer, XmlDocument)
Extensions.GetMultilingualStrings(IVersionable)
NamingHelper.GetBaseFileNameForItem(IVersionable)
VersionableExtensions.GetHeader(IVersionable, bool)
VersionableExtensions.GetMetadata(IVersionable)
VersionableExtensions.GetUserAttribute(IVersionable, string)
VersionableExtensions.GetUserAttributeInt(IVersionable, string)
VersionableExtensions.SetUserAttribute(IVersionable, string, string)
VersionableUserIdExtensions.SetUserId(IVersionable, string, string)
In this article
Back to top Generated by DocFX