private ICollection <TRelationshipEntity> GetRelationshipCollection(TRelationshipDTO relationship) { var parentId = ParentDTOKeySelector(relationship); var includes = AdditionalParentIncludes.Concat(new[] { ConvertToIncludesExpression(RelationshipCollectionSelector) }).ToArray(); var parentEntity = ParentRepository.GetById(parentId, includes); ValidateModifyPermissions(parentEntity); var relationshipCollection = RelationshipCollectionSelector.Compile()(parentEntity); return(relationshipCollection); }
public TRelationshipDTO GetDetail(TKey id) { using (UnitOfWorkProvider.Create()) { var entity = Repository.GetById(id); if (entity == null) { return(default(TRelationshipDTO)); } var parentId = ParentEntityKeySelector(entity); var includes = AdditionalParentIncludes.Concat(new [] { ConvertToIncludesExpression(RelationshipCollectionSelector) }).ToArray(); var parentEntity = ParentRepository.GetById(parentId, includes); ValidateReadPermissions(parentEntity); return(entityMapper.MapToDTO(entity)); } }