Interface IRelationService
Namespace: Umbraco.Cms.Core.Services
Assembly: Umbraco.Core.dll
Syntax
public interface IRelationService : IService
Methods
View SourceAreRelated(Int32, Int32)
Checks whether two items are related
Declaration
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
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(IUmbracoEntity, IUmbracoEntity)
Checks whether two items are related
Declaration
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
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 |
CountRelationTypes()
Declaration
int CountRelationTypes()
Returns
Type | Description |
---|---|
System.Int32 |
CreateAsync(IRelationType, Guid)
Saves a IRelationType
Declaration
Task<Attempt<IRelationType, RelationTypeOperationStatus>> CreateAsync(IRelationType relationType, Guid userKey)
Parameters
Type | Name | Description |
---|---|---|
IRelationType | relationType | RelationType to Save |
Guid | userKey | Key of the user thats saving the relation type |
Returns
Type | Description |
---|---|
Task<Attempt<IRelationType, RelationTypeOperationStatus>> | A Attempt with a status of whether the operations was a success or failure |
Delete(IRelation)
Deletes a IRelation
Declaration
void Delete(IRelation relation)
Parameters
Type | Name | Description |
---|---|---|
IRelation | relation | Relation to Delete |
Delete(IRelationType)
Deletes a IRelationType
Declaration
void Delete(IRelationType relationType)
Parameters
Type | Name | Description |
---|---|---|
IRelationType | relationType | RelationType to Delete |
DeleteAsync(Guid, Guid)
Deletes a IRelationType
Declaration
Task<Attempt<IRelationType, RelationTypeOperationStatus>> DeleteAsync(Guid key, Guid userKey)
Parameters
Type | Name | Description |
---|---|---|
Guid | key | Key of the relation type to delete |
Guid | userKey | Key of the user that is deleting the relation type |
Returns
Type | Description |
---|---|
Task<Attempt<IRelationType, RelationTypeOperationStatus>> |
DeleteRelationsOfType(IRelationType)
Deletes all IRelation objects based on the passed in IRelationType
Declaration
void DeleteRelationsOfType(IRelationType relationType)
Parameters
Type | Name | Description |
---|---|---|
IRelationType | relationType | IRelationType to Delete Relations for |
GetAllowedObjectTypes()
Gets all allowed parent/child object types for a given IRelationType />
Declaration
IEnumerable<UmbracoObjectTypes> GetAllowedObjectTypes()
Returns
Type | Description |
---|---|
IEnumerable<UmbracoObjectTypes> | All of the allowed UmbracoObjectTypes. |
GetAllRelations(Int32[])
Gets all IRelation objects
Declaration
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 |
---|---|
IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetAllRelationsByRelationType(Int32)
Gets all IRelation objects by their IRelationType's Id
Declaration
IEnumerable<IRelation>? GetAllRelationsByRelationType(int relationTypeId)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | relationTypeId | Id of the IRelationType to retrieve Relations for |
Returns
Type | Description |
---|---|
System.Nullable<IEnumerable<IRelation>> | An enumerable list of IRelation objects |
GetAllRelationsByRelationType(IRelationType)
Gets all IRelation objects by their IRelationType
Declaration
IEnumerable<IRelation>? GetAllRelationsByRelationType(IRelationType relationType)
Parameters
Type | Name | Description |
---|---|---|
IRelationType | relationType | IRelation to retrieve Relations for |
Returns
Type | Description |
---|---|
System.Nullable<IEnumerable<IRelation>> | An enumerable list of IRelation objects |
GetAllRelationTypes(Int32[])
Gets all IRelation objects
Declaration
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 |
---|---|
IEnumerable<IRelationType> | An enumerable list of IRelation objects |
GetByChild(IUmbracoEntity)
Gets a list of IRelation objects by their child Entity
Declaration
IEnumerable<IRelation> GetByChild(IUmbracoEntity child)
Parameters
Type | Name | Description |
---|---|---|
IUmbracoEntity | child | Child Entity to retrieve relations for |
Returns
Type | Description |
---|---|
IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetByChild(IUmbracoEntity, String)
Gets a list of IRelation objects by their child Entity
Declaration
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 |
---|---|
IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetByChildId(Int32)
Gets a list of IRelation objects by their child Id
Declaration
IEnumerable<IRelation> GetByChildId(int id)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of the child to retrieve relations for |
Returns
Type | Description |
---|---|
IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetByChildId(Int32, String)
Gets a list of IRelation objects by their child Id
Declaration
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 |
---|---|
IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetById(Int32)
Gets a IRelation by its Id
Declaration
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
IEnumerable<IRelation>? GetByParent(IUmbracoEntity parent)
Parameters
Type | Name | Description |
---|---|---|
IUmbracoEntity | parent | Parent Entity to retrieve relations for |
Returns
Type | Description |
---|---|
System.Nullable<IEnumerable<IRelation>> | An enumerable list of IRelation objects |
GetByParent(IUmbracoEntity, String)
Gets a list of IRelation objects by their parent entity
Declaration
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 |
---|---|
IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetByParentAndChildId(Int32, Int32, IRelationType)
Gets a relation by the unique combination of parentId, childId and relationType.
Declaration
IRelation GetByParentAndChildId(int parentId, int childId, IRelationType relationType)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | parentId | The id of the parent item. |
System.Int32 | childId | The id of the child item. |
IRelationType | relationType | The RelationType. |
Returns
Type | Description |
---|---|
IRelation | The relation or null |
GetByParentId(Int32)
Gets a list of IRelation objects by their parent Id
Declaration
IEnumerable<IRelation>? GetByParentId(int id)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of the parent to retrieve relations for |
Returns
Type | Description |
---|---|
System.Nullable<IEnumerable<IRelation>> | An enumerable list of IRelation objects |
GetByParentId(Int32, String)
Gets a list of IRelation objects by their parent Id
Declaration
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.Nullable<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
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 |
---|---|
IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetByParentOrChildId(Int32, String)
Declaration
IEnumerable<IRelation> GetByParentOrChildId(int id, string relationTypeAlias)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | |
System.String | relationTypeAlias |
Returns
Type | Description |
---|---|
IEnumerable<IRelation> |
GetByRelationTypeAlias(String)
Gets a list of IRelation objects by the Alias of the IRelationType
Declaration
IEnumerable<IRelation> GetByRelationTypeAlias(string relationTypeAlias)
Parameters
Type | Name | Description |
---|---|---|
System.String | relationTypeAlias | Alias of the IRelationType to retrieve Relations for |
Returns
Type | Description |
---|---|
IEnumerable<IRelation> | An enumerable list of IRelation objects |
GetByRelationTypeId(Int32)
Gets a list of IRelation objects by the Id of the IRelationType
Declaration
IEnumerable<IRelation>? GetByRelationTypeId(int relationTypeId)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | relationTypeId | Id of the IRelationType to retrieve Relations for |
Returns
Type | Description |
---|---|
System.Nullable<IEnumerable<IRelation>> | An enumerable list of IRelation objects |
GetByRelationTypeName(String)
Gets a list of IRelation objects by the Name of the IRelationType
Declaration
IEnumerable<IRelation> GetByRelationTypeName(string relationTypeName)
Parameters
Type | Name | Description |
---|---|---|
System.String | relationTypeName | Name of the IRelationType to retrieve Relations for |
Returns
Type | Description |
---|---|
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
IEnumerable<IUmbracoEntity> GetChildEntitiesFromRelations(IEnumerable<IRelation> relations)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<IRelation> | relations | List of relations to retrieve child objects from |
Returns
Type | Description |
---|---|
IEnumerable<IUmbracoEntity> | An enumerable list of IUmbracoEntity |
GetChildEntityFromRelation(IRelation)
Gets the Child object from a Relation as an IUmbracoEntity
Declaration
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
Declaration
Tuple<IUmbracoEntity, IUmbracoEntity>? GetEntitiesFromRelation(IRelation relation)
Parameters
Type | Name | Description |
---|---|---|
IRelation | relation | Relation to retrieve parent and child object from |
Returns
Type | Description |
---|---|
System.Nullable<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
IEnumerable<Tuple<IUmbracoEntity, IUmbracoEntity>> GetEntitiesFromRelations(IEnumerable<IRelation> relations)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<IRelation> | relations | List of relations to retrieve parent and child objects from |
Returns
Type | Description |
---|---|
IEnumerable<Tuple<IUmbracoEntity, IUmbracoEntity>> | An enumerable list of |
GetPagedByChildKeyAsync(Guid, Int32, Int32, String)
Declaration
Task<PagedModel<IRelation>> GetPagedByChildKeyAsync(Guid childKey, int skip, int take, string relationTypeAlias)
Parameters
Type | Name | Description |
---|---|---|
Guid | childKey | |
System.Int32 | skip | |
System.Int32 | take | |
System.String | relationTypeAlias |
Returns
Type | Description |
---|---|
Task<PagedModel<IRelation>> |
GetPagedByRelationTypeId(Int32, Int64, Int32, out Int64, Ordering)
Gets a paged result of IRelation
Declaration
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 |
---|---|
IEnumerable<IRelation> |
GetPagedByRelationTypeKeyAsync(Guid, Int32, Int32, Ordering)
Gets a paged result of IRelation
Declaration
Task<Attempt<PagedModel<IRelation>, RelationOperationStatus>> GetPagedByRelationTypeKeyAsync(Guid key, int skip, int take, Ordering ordering = null)
Parameters
Type | Name | Description |
---|---|---|
Guid | key | |
System.Int32 | skip | |
System.Int32 | take | |
Ordering | ordering |
Returns
Type | Description |
---|---|
Task<Attempt<PagedModel<IRelation>, RelationOperationStatus>> |
GetPagedChildEntitiesByParentId(Int32, Int64, Int32, out Int64, UmbracoObjectTypes[])
Returns paged child entities for a related parent id
Declaration
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 |
---|---|
IEnumerable<IUmbracoEntity> | An enumerable list of IUmbracoEntity |
GetPagedParentEntitiesByChildId(Int32, Int64, Int32, out Int64, UmbracoObjectTypes[])
Returns paged parent entities for a related child id
Declaration
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 |
---|---|
IEnumerable<IUmbracoEntity> | An enumerable list of IUmbracoEntity |
GetPagedRelationTypesAsync(Int32, Int32, Int32[])
Gets the Relation types in a paged manner. Currently implements the paging in memory on the name attribute because the underlying repository does not support paging yet
Declaration
Task<PagedModel<IRelationType>> GetPagedRelationTypesAsync(int skip, int take, params int[] ids)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | skip | |
System.Int32 | take | |
System.Int32[] | ids |
Returns
Type | Description |
---|---|
Task<PagedModel<IRelationType>> |
GetParentEntitiesFromRelations(IEnumerable<IRelation>)
Gets the Parent objects from a list of Relations as a list of IUmbracoEntity objects.
Declaration
IEnumerable<IUmbracoEntity> GetParentEntitiesFromRelations(IEnumerable<IRelation> relations)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<IRelation> | relations | List of relations to retrieve parent objects from |
Returns
Type | Description |
---|---|
IEnumerable<IUmbracoEntity> | An enumerable list of IUmbracoEntity |
GetParentEntityFromRelation(IRelation)
Gets the Parent object from a Relation as an IUmbracoEntity
Declaration
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
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
IRelationType GetRelationTypeById(Guid id)
Parameters
Type | Name | Description |
---|---|---|
Guid | id | Id of the IRelationType |
Returns
Type | Description |
---|---|
IRelationType | A IRelationType object |
GetRelationTypeById(Int32)
Gets a IRelationType by its Id
Declaration
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
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
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
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
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
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
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
void Save(IEnumerable<IRelation> relations)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<IRelation> | relations |
Save(IRelation)
Saves a IRelation
Declaration
void Save(IRelation relation)
Parameters
Type | Name | Description |
---|---|---|
IRelation | relation | Relation to save |
Save(IRelationType)
Saves a IRelationType
Declaration
void Save(IRelationType relationType)
Parameters
Type | Name | Description |
---|---|---|
IRelationType | relationType | RelationType to Save |
UpdateAsync(IRelationType, Guid)
Saves a IRelationType
Declaration
Task<Attempt<IRelationType, RelationTypeOperationStatus>> UpdateAsync(IRelationType relationType, Guid userKey)
Parameters
Type | Name | Description |
---|---|---|
IRelationType | relationType | RelationType to Save |
Guid | userKey | Key of the user thats saving the relation type |
Returns
Type | Description |
---|---|
Task<Attempt<IRelationType, RelationTypeOperationStatus>> | A Attempt with a status of whether the operations was a success or failure |