Class RelationService
Namespace: Umbraco.Core.Services.Implement
Assembly: Umbraco.Core.dll
Syntax
public class RelationService : ScopeRepositoryService, IRelationService, IService
Constructors
View SourceRelationService(IScopeProvider, ILogger, IEventMessagesFactory, IEntityService, IRelationRepository, IRelationTypeRepository, IAuditRepository)
Declaration
public RelationService(IScopeProvider uowProvider, ILogger logger, IEventMessagesFactory eventMessagesFactory, IEntityService entityService, IRelationRepository relationRepository, IRelationTypeRepository relationTypeRepository, IAuditRepository auditRepository)
Parameters
Type | Name | Description |
---|---|---|
IScopeProvider | uowProvider | |
ILogger | logger | |
IEventMessagesFactory | eventMessagesFactory | |
IEntityService | entityService | |
IRelationRepository | relationRepository | |
IRelationTypeRepository | relationTypeRepository | |
IAuditRepository | auditRepository |
Methods
View SourceAreRelated(Int32, Int32)
Checks whether two items are related
Declaration
public bool AreRelated(int parentId, int childId)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | parentId | Id of the Parent relation |
System.Int32 | childId | Id of the Child relation |
Returns
Type | Description |
---|---|
System.Boolean | Returns |
AreRelated(Int32, Int32, String)
Checks whether two items are related
Declaration
public bool AreRelated(int parentId, int childId, string relationTypeAlias)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | parentId | Id of the Parent relation |
System.Int32 | childId | Id of the Child relation |
System.String | relationTypeAlias | Alias of the type of relation to create |
Returns
Type | Description |
---|---|
System.Boolean | Returns |
AreRelated(Int32, Int32, IRelationType)
Declaration
public bool AreRelated(int parentId, int childId, IRelationType relationType)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | parentId | |
System.Int32 | childId | |
IRelationType | relationType |
Returns
Type | Description |
---|---|
System.Boolean |
AreRelated(IUmbracoEntity, IUmbracoEntity)
Checks whether two items are related
Declaration
public bool AreRelated(IUmbracoEntity parent, IUmbracoEntity child)
Parameters
Type | Name | Description |
---|---|---|
IUmbracoEntity | parent | Parent entity |
IUmbracoEntity | child | Child entity |
Returns
Type | Description |
---|---|
System.Boolean | Returns |
AreRelated(IUmbracoEntity, IUmbracoEntity, String)
Checks whether two items are related
Declaration
public bool AreRelated(IUmbracoEntity parent, IUmbracoEntity child, string relationTypeAlias)
Parameters
Type | Name | Description |
---|---|---|
IUmbracoEntity | parent | Parent entity |
IUmbracoEntity | child | Child entity |
System.String | relationTypeAlias | Alias of the type of relation to create |
Returns
Type | Description |
---|---|
System.Boolean | Returns |
Delete(IRelation)
Deletes a IRelation
Declaration
public void Delete(IRelation relation)
Parameters
Type | Name | Description |
---|---|---|
IRelation | relation | Relation to Delete |
Delete(IRelationType)
Deletes a IRelationType
Declaration
public void Delete(IRelationType relationType)
Parameters
Type | Name | Description |
---|---|---|
IRelationType | relationType | RelationType to Delete |
DeleteRelationsOfType(IRelationType)
Deletes all IRelation objects based on the passed in IRelationType
Declaration
public void DeleteRelationsOfType(IRelationType relationType)
Parameters
Type | Name | Description |
---|---|---|
IRelationType | relationType | IRelationType to Delete Relations for |
GetAllRelations(Int32[])
Gets all IRelation objects
Declaration
public IEnumerable<IRelation> GetAllRelations(params int[] ids)
Parameters
Type | Name | Description |
---|---|---|
System.Int32[] | ids | Optional array of integer ids to return relations for |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetAllRelationsByRelationType(Int32)
Gets all IRelation objects by their IRelationType's Id
Declaration
public IEnumerable<IRelation> GetAllRelationsByRelationType(int relationTypeId)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | relationTypeId | Id of the IRelationType to retrieve Relations for |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetAllRelationsByRelationType(IRelationType)
Gets all IRelation objects by their IRelationType
Declaration
public IEnumerable<IRelation> GetAllRelationsByRelationType(IRelationType relationType)
Parameters
Type | Name | Description |
---|---|---|
IRelationType | relationType | IRelation to retrieve Relations for |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetAllRelationTypes(Int32[])
Gets all IRelation objects
Declaration
public IEnumerable<IRelationType> GetAllRelationTypes(params int[] ids)
Parameters
Type | Name | Description |
---|---|---|
System.Int32[] | ids | Optional array of integer ids to return relationtypes for |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IRelationType> | An enumerable list of IRelation objects |
GetByChild(IUmbracoEntity)
Gets a list of IRelation objects by their child Entity
Declaration
public IEnumerable<IRelation> GetByChild(IUmbracoEntity child)
Parameters
Type | Name | Description |
---|---|---|
IUmbracoEntity | child | Child Entity to retrieve relations for |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetByChild(IUmbracoEntity, String)
Gets a list of IRelation objects by their child Entity
Declaration
public IEnumerable<IRelation> GetByChild(IUmbracoEntity child, string relationTypeAlias)
Parameters
Type | Name | Description |
---|---|---|
IUmbracoEntity | child | Child Entity to retrieve relations for |
System.String | relationTypeAlias | Alias of the type of relation to retrieve |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetByChildId(Int32)
Gets a list of IRelation objects by their child Id
Declaration
public IEnumerable<IRelation> GetByChildId(int id)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of the child to retrieve relations for |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetByChildId(Int32, String)
Gets a list of IRelation objects by their child Id
Declaration
public IEnumerable<IRelation> GetByChildId(int id, string relationTypeAlias)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of the child to retrieve relations for |
System.String | relationTypeAlias | Alias of the type of relation to retrieve |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetById(Int32)
Gets a IRelation by its Id
Declaration
public IRelation GetById(int id)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of the IRelation |
Returns
Type | Description |
---|---|
IRelation | A IRelation object |
GetByParent(IUmbracoEntity)
Gets a list of IRelation objects by their parent entity
Declaration
public IEnumerable<IRelation> GetByParent(IUmbracoEntity parent)
Parameters
Type | Name | Description |
---|---|---|
IUmbracoEntity | parent | Parent Entity to retrieve relations for |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetByParent(IUmbracoEntity, String)
Gets a list of IRelation objects by their parent entity
Declaration
public IEnumerable<IRelation> GetByParent(IUmbracoEntity parent, string relationTypeAlias)
Parameters
Type | Name | Description |
---|---|---|
IUmbracoEntity | parent | Parent Entity to retrieve relations for |
System.String | relationTypeAlias | Alias of the type of relation to retrieve |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetByParentId(Int32)
Gets a list of IRelation objects by their parent Id
Declaration
public IEnumerable<IRelation> GetByParentId(int id)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of the parent to retrieve relations for |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetByParentId(Int32, String)
Gets a list of IRelation objects by their parent Id
Declaration
public IEnumerable<IRelation> GetByParentId(int id, string relationTypeAlias)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of the parent to retrieve relations for |
System.String | relationTypeAlias | Alias of the type of relation to retrieve |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetByParentOrChildId(Int32)
Gets a list of IRelation objects by their child or parent Id. Using this method will get you all relations regards of it being a child or parent relation.
Declaration
public IEnumerable<IRelation> GetByParentOrChildId(int id)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of the child or parent to retrieve relations for |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetByParentOrChildId(Int32, String)
Declaration
public IEnumerable<IRelation> GetByParentOrChildId(int id, string relationTypeAlias)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | |
System.String | relationTypeAlias |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IRelation> |
GetByRelationTypeAlias(String)
Gets a list of IRelation objects by the Alias of the IRelationType
Declaration
public IEnumerable<IRelation> GetByRelationTypeAlias(string relationTypeAlias)
Parameters
Type | Name | Description |
---|---|---|
System.String | relationTypeAlias | Alias of the IRelationType to retrieve Relations for |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetByRelationTypeId(Int32)
Gets a list of IRelation objects by the Id of the IRelationType
Declaration
public IEnumerable<IRelation> GetByRelationTypeId(int relationTypeId)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | relationTypeId | Id of the IRelationType to retrieve Relations for |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetByRelationTypeName(String)
Gets a list of IRelation objects by the Name of the IRelationType
Declaration
public IEnumerable<IRelation> GetByRelationTypeName(string relationTypeName)
Parameters
Type | Name | Description |
---|---|---|
System.String | relationTypeName | Name of the IRelationType to retrieve Relations for |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetChildEntitiesFromRelations(IEnumerable<IRelation>)
Gets the Child objects from a list of Relations as a list of IUmbracoEntity objects.
Declaration
public IEnumerable<IUmbracoEntity> GetChildEntitiesFromRelations(IEnumerable<IRelation> relations)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<IRelation> | relations | List of relations to retrieve child objects from |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IUmbracoEntity> | An enumerable list of IUmbracoEntity |
GetChildEntityFromRelation(IRelation)
Gets the Child object from a Relation as an IUmbracoEntity
Declaration
public IUmbracoEntity GetChildEntityFromRelation(IRelation relation)
Parameters
Type | Name | Description |
---|---|---|
IRelation | relation | Relation to retrieve child object from |
Returns
Type | Description |
---|---|
IUmbracoEntity |
GetEntitiesFromRelation(IRelation)
Gets the Parent and Child objects from a Relation as a System.Tuple"/> with IUmbracoEntity.
Declaration
public Tuple<IUmbracoEntity, IUmbracoEntity> GetEntitiesFromRelation(IRelation relation)
Parameters
Type | Name | Description |
---|---|---|
IRelation | relation | Relation to retrieve parent and child object from |
Returns
Type | Description |
---|---|
System.Tuple<IUmbracoEntity, IUmbracoEntity> | Returns a Tuple with Parent (item1) and Child (item2) |
GetEntitiesFromRelations(IEnumerable<IRelation>)
Gets the Parent and Child objects from a list of Relations as a list of IUmbracoEntity objects.
Declaration
public IEnumerable<Tuple<IUmbracoEntity, IUmbracoEntity>> GetEntitiesFromRelations(IEnumerable<IRelation> relations)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<IRelation> | relations | List of relations to retrieve parent and child objects from |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<System.Tuple<IUmbracoEntity, IUmbracoEntity>> | An enumerable list of System.Tuple with IUmbracoEntity |
GetPagedByRelationTypeId(Int32, Int64, Int32, out Int64, Ordering)
Gets a paged result of IRelation
Declaration
public IEnumerable<IRelation> GetPagedByRelationTypeId(int relationTypeId, long pageIndex, int pageSize, out long totalRecords, Ordering ordering = null)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | relationTypeId | |
System.Int64 | pageIndex | |
System.Int32 | pageSize | |
System.Int64 | totalRecords | |
Ordering | ordering |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IRelation> |
GetPagedChildEntitiesByParentId(Int32, Int64, Int32, out Int64, UmbracoObjectTypes[])
Returns paged child entities for a related parent id
Declaration
public IEnumerable<IUmbracoEntity> GetPagedChildEntitiesByParentId(int id, long pageIndex, int pageSize, out long totalChildren, params UmbracoObjectTypes[] entityTypes)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | |
System.Int64 | pageIndex | |
System.Int32 | pageSize | |
System.Int64 | totalChildren | |
UmbracoObjectTypes[] | entityTypes |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IUmbracoEntity> |
GetPagedParentEntitiesByChildId(Int32, Int64, Int32, out Int64, UmbracoObjectTypes[])
Returns paged parent entities for a related child id
Declaration
public IEnumerable<IUmbracoEntity> GetPagedParentEntitiesByChildId(int id, long pageIndex, int pageSize, out long totalChildren, params UmbracoObjectTypes[] entityTypes)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | |
System.Int64 | pageIndex | |
System.Int32 | pageSize | |
System.Int64 | totalChildren | |
UmbracoObjectTypes[] | entityTypes |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IUmbracoEntity> |
GetParentEntitiesFromRelations(IEnumerable<IRelation>)
Gets the Parent objects from a list of Relations as a list of IUmbracoEntity objects.
Declaration
public IEnumerable<IUmbracoEntity> GetParentEntitiesFromRelations(IEnumerable<IRelation> relations)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<IRelation> | relations | List of relations to retrieve parent objects from |
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IUmbracoEntity> | An enumerable list of IUmbracoEntity |
GetParentEntityFromRelation(IRelation)
Gets the Parent object from a Relation as an IUmbracoEntity
Declaration
public IUmbracoEntity GetParentEntityFromRelation(IRelation relation)
Parameters
Type | Name | Description |
---|---|---|
IRelation | relation | Relation to retrieve parent object from |
Returns
Type | Description |
---|---|
IUmbracoEntity |
GetRelationTypeByAlias(String)
Gets a IRelationType by its Alias
Declaration
public IRelationType GetRelationTypeByAlias(string alias)
Parameters
Type | Name | Description |
---|---|---|
System.String | alias | Alias of the IRelationType |
Returns
Type | Description |
---|---|
IRelationType | A IRelationType object |
GetRelationTypeById(Guid)
Gets a IRelationType by its Id
Declaration
public IRelationType GetRelationTypeById(Guid id)
Parameters
Type | Name | Description |
---|---|---|
System.Guid | id | Id of the IRelationType |
Returns
Type | Description |
---|---|
IRelationType | A IRelationType object |
GetRelationTypeById(Int32)
Gets a IRelationType by its Id
Declaration
public IRelationType GetRelationTypeById(int id)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of the IRelationType |
Returns
Type | Description |
---|---|
IRelationType | A IRelationType object |
HasRelations(IRelationType)
Checks whether any relations exists for the passed in IRelationType.
Declaration
public bool HasRelations(IRelationType relationType)
Parameters
Type | Name | Description |
---|---|---|
IRelationType | relationType | IRelationType to check for relations |
Returns
Type | Description |
---|---|
System.Boolean | Returns |
IsRelated(Int32)
Checks whether any relations exists for the passed in Id.
Declaration
public bool IsRelated(int id)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of an object to check relations for |
Returns
Type | Description |
---|---|
System.Boolean | Returns |
Relate(Int32, Int32, String)
Relates two objects by their entity Ids.
Declaration
public IRelation Relate(int parentId, int childId, string relationTypeAlias)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | parentId | Id of the parent |
System.Int32 | childId | Id of the child |
System.String | relationTypeAlias | Alias of the type of relation to create |
Returns
Type | Description |
---|---|
IRelation | The created IRelation |
Relate(Int32, Int32, IRelationType)
Relates two objects by their entity Ids.
Declaration
public IRelation Relate(int parentId, int childId, IRelationType relationType)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | parentId | Id of the parent |
System.Int32 | childId | Id of the child |
IRelationType | relationType | The type of relation to create |
Returns
Type | Description |
---|---|
IRelation | The created IRelation |
Relate(IUmbracoEntity, IUmbracoEntity, String)
Relates two objects that are based on the IUmbracoEntity interface.
Declaration
public IRelation Relate(IUmbracoEntity parent, IUmbracoEntity child, string relationTypeAlias)
Parameters
Type | Name | Description |
---|---|---|
IUmbracoEntity | parent | Parent entity |
IUmbracoEntity | child | Child entity |
System.String | relationTypeAlias | Alias of the type of relation to create |
Returns
Type | Description |
---|---|
IRelation | The created IRelation |
Relate(IUmbracoEntity, IUmbracoEntity, IRelationType)
Relates two objects that are based on the IUmbracoEntity interface.
Declaration
public IRelation Relate(IUmbracoEntity parent, IUmbracoEntity child, IRelationType relationType)
Parameters
Type | Name | Description |
---|---|---|
IUmbracoEntity | parent | Parent entity |
IUmbracoEntity | child | Child entity |
IRelationType | relationType | The type of relation to create |
Returns
Type | Description |
---|---|
IRelation | The created IRelation |
Save(IEnumerable<IRelation>)
Declaration
public void Save(IEnumerable<IRelation> relations)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<IRelation> | relations |
Save(IRelation)
Saves a IRelation
Declaration
public void Save(IRelation relation)
Parameters
Type | Name | Description |
---|---|---|
IRelation | relation | Relation to save |
Save(IRelationType)
Saves a IRelationType
Declaration
public void Save(IRelationType relationType)
Parameters
Type | Name | Description |
---|---|---|
IRelationType | relationType | RelationType to Save |
Events
View SourceDeletedRelation
Occurs after a Relation is Deleted
Declaration
public static event TypedEventHandler<IRelationService, DeleteEventArgs<IRelation>> DeletedRelation
Event Type
Type | Description |
---|---|
TypedEventHandler<IRelationService, DeleteEventArgs<IRelation>> |
DeletedRelationType
Occurs after a RelationType is Deleted
Declaration
public static event TypedEventHandler<IRelationService, DeleteEventArgs<IRelationType>> DeletedRelationType
Event Type
Type | Description |
---|---|
TypedEventHandler<IRelationService, DeleteEventArgs<IRelationType>> |
DeletingRelation
Occurs before Deleting a Relation
Declaration
public static event TypedEventHandler<IRelationService, DeleteEventArgs<IRelation>> DeletingRelation
Event Type
Type | Description |
---|---|
TypedEventHandler<IRelationService, DeleteEventArgs<IRelation>> |
DeletingRelationType
Occurs before Deleting a RelationType
Declaration
public static event TypedEventHandler<IRelationService, DeleteEventArgs<IRelationType>> DeletingRelationType
Event Type
Type | Description |
---|---|
TypedEventHandler<IRelationService, DeleteEventArgs<IRelationType>> |
SavedRelation
Occurs after a Relation is Saved
Declaration
public static event TypedEventHandler<IRelationService, SaveEventArgs<IRelation>> SavedRelation
Event Type
Type | Description |
---|---|
TypedEventHandler<IRelationService, SaveEventArgs<IRelation>> |
SavedRelationType
Occurs after a RelationType is Saved
Declaration
public static event TypedEventHandler<IRelationService, SaveEventArgs<IRelationType>> SavedRelationType
Event Type
Type | Description |
---|---|
TypedEventHandler<IRelationService, SaveEventArgs<IRelationType>> |
SavingRelation
Occurs before Saving a Relation
Declaration
public static event TypedEventHandler<IRelationService, SaveEventArgs<IRelation>> SavingRelation
Event Type
Type | Description |
---|---|
TypedEventHandler<IRelationService, SaveEventArgs<IRelation>> |
SavingRelationType
Occurs before Saving a RelationType
Declaration
public static event TypedEventHandler<IRelationService, SaveEventArgs<IRelationType>> SavingRelationType
Event Type
Type | Description |
---|---|
TypedEventHandler<IRelationService, SaveEventArgs<IRelationType>> |