Class Grouping
Assembly: LemonEdge.API.Entities.Auto.dll
Syntax
[DataContract]
public class Grouping : BaseEntityWithPermissions, IGrouping, IBaseEntityWithPermissions, IBaseEntity, IEquatable<IBaseEntity>, INotifyPropertyChanged, INotifyPropertyChanging, ICloneableAsync, ICanTrackProperties, IUserSpecific, ISetCopier, IHasVersion, ICloneableAsync<IGrouping>, IUserSpecificPublicToggle, ISetItemLoaderOverride
Constructors
Grouping()
Declaration
Properties
Description
The description for the items in this grouping.
Declaration
public string Description { get; set; }
Property Value
DisplayItemOnCopy
Indicates if the items should appear in the UI when copied from a grid. Typically child items shouldn't be added as
items in a grid or opened on copy, just the root item itself
Declaration
public bool DisplayItemOnCopy { get; }
Property Value
ForceNewItemOnCopy
Indicates if the specified item should always be created as a new item. For instance when copying sub transactions
are always created as new items
Declaration
public bool ForceNewItemOnCopy { get; }
Property Value
HasGroupingTypeID
Any entity with a grouping can link to this grouping as its single grouping parent if the type matches
Declaration
public Guid? HasGroupingTypeID { get; set; }
Property Value
IsPublic
Indicates if this entity is visible to all users (public), or just the current user (private).
Directly maps to UserID property
Declaration
[NotMapped]
public bool IsPublic { get; set; }
Property Value
IsSystem
Indicates this item is part of the core system. Any changes will be overwritten if the version number is lower than
the provided version number and the item is also marked as a system item.
Declaration
[Required]
public bool IsSystem { get; set; }
Property Value
ItemReportingCombination
The method in which reports can combine grouping items
Declaration
[EnumDataType(typeof(GroupingItemReportingCombination))]
public GroupingItemReportingCombination ItemReportingCombination { get; set; }
Property Value
Declaration
[NotMapped]
public string ItemReportingCombination_Tooltip { get; set; }
Property Value
Name
Declaration
[Required]
[StringLength(500)]
public string Name { get; set; }
Property Value
Operator
An operator to use for aggregating grouped items in query tools
Declaration
[Required]
[EnumDataType(typeof(MathOperator))]
public MathOperator Operator { get; set; }
Property Value
Declaration
[NotMapped]
public string Operator_Tooltip { get; set; }
Property Value
ParentID
Links to IGrouping. Holds the parent grouping this is a child of if part of a heirarchical
filter
Declaration
public Guid? ParentID { get; set; }
Property Value
ParentID_Label
Declaration
public string ParentID_Label { get; set; }
Property Value
ParentID_Label_Silent
Declaration
[NotMapped]
public string ParentID_Label_Silent { get; set; }
Property Value
The globally unique id of the entity (of type ItemTypeID) that is related within this grouping
Declaration
public Guid? RelatedItemID { get; set; }
Property Value
Declaration
public string RelatedItemID_Label { get; set; }
Property Value
Declaration
[NotMapped]
public string RelatedItemID_Label_Silent { get; set; }
Property Value
Declaration
public Guid? RelatedItemTypeID { get; set; }
Property Value
Sequence
[Key] Holds the order of this grouping within the whole the parent grouping
This field is hidden in the grid, but you can show it using our standard grid commands. You can easily change
it using the Move Up/Down commands too.
Declaration
public short Sequence { get; set; }
Property Value
UserID
Links to IUser. Indicates if this entity record is private to just the specified user, or if it is
public to everyone (holding null)
Declaration
public Guid? UserID { get; set; }
Property Value
UserID_Label
Declaration
public string UserID_Label { get; set; }
Property Value
UserID_Label_Silent
Declaration
[NotMapped]
public string UserID_Label_Silent { get; set; }
Property Value
Version
Indicates the version number of this item. Changes will only be overwritten if the provided new item has a higer
version number than this one.
Declaration
[Required]
[DatabasePropertyValidation("MyItem.IsSystem", "var allUserTeams = await Cache.GetAllItems<LemonEdge.API.Entities.Administration.IUserTeam>(); (await Cache.GetAllItems<LemonEdge.API.Entities.Administration.ITeam>()).Any(x => allUserTeams.Where(ut => ut.UserID == User.ID).Select(ut => ut.TeamID).Contains(x.ID) && x.CanEditSystemItems)", "User is not authorized to modify system items.")]
public short Version { get; set; }
Property Value
Methods
CopyFromEntity(IBaseEntity)
Declaration
protected override void CopyFromEntity(IBaseEntity src)
Parameters
Overrides
CopyFromSource(IGrouping)
Updates all properties in this item to have the same properties as the source object.
Declaration
public void CopyFromSource(IGrouping source)
Parameters
Type |
Name |
Description |
IGrouping |
source |
The source object to copy all values from.
|
ProcessLoadedSetItems(IEnumerable<IBaseEntity>, IEntityUpdater)
Provides the item a chance to implement custom behaviour when being copied or imported. This is called against the
first instance of an item for all items of this type imported during the process.
Declaration
public Task ProcessLoadedSetItems(IEnumerable<IBaseEntity> setItems, IEntityUpdater updater)
Parameters
Type |
Name |
Description |
IEnumerable<IBaseEntity> |
setItems |
All items that have been imported by the process
SetItemInfo.Import(IEntityUpdater, UserInfo, IReadOnlyCache, bool, Descriptors.EntityRelationship)
that are of the same type
|
IEntityUpdater |
updater |
The current context everything has been imported into
|
Returns
Type |
Description |
Task |
A task indicating the finishing of the task
|
ToString()
Declaration
public override string ToString()
Returns
Overrides
Implements
Extension Methods