public RelationshipDTO Create(Relationship relationship)
        {
            if (relationship == null)
            {
                return(null);
            }

            var relationshipDTO = new RelationshipDTO();

            relationshipDTO.RelationshipId         = relationship.RelationshipId;
            relationshipDTO.ParentEntityId         = relationship.ParentEntityId;
            relationshipDTO.ChildEntityId          = relationship.ChildEntityId;
            relationshipDTO.CollectionName         = relationship.CollectionName;
            relationshipDTO.CollectionFriendlyName = relationship.CollectionFriendlyName;
            relationshipDTO.ParentName             = relationship.ParentName;
            relationshipDTO.ParentFriendlyName     = relationship.ParentFriendlyName;
            relationshipDTO.ParentFieldId          = relationship.ParentFieldId;
            relationshipDTO.DisplayListOnParent    = relationship.DisplayListOnParent;
            relationshipDTO.Hierarchy = relationship.Hierarchy;
            relationshipDTO.SortOrder = relationship.SortOrder;
            relationshipDTO.RelationshipAncestorLimit = relationship.RelationshipAncestorLimit;
            relationshipDTO.CascadeDelete             = relationship.CascadeDelete;
            relationshipDTO.UseSelectorDirective      = relationship.UseSelectorDirective;
            relationshipDTO.UseMultiSelect            = relationship.UseMultiSelect;
            relationshipDTO.IsOneToOne       = relationship.IsOneToOne;
            relationshipDTO.SortOrderOnChild = relationship.SortOrderOnChild;
            relationshipDTO.ChildEntity      = Create(relationship.ChildEntity);
            relationshipDTO.ParentEntity     = Create(relationship.ParentEntity);
            relationshipDTO.ParentField      = Create(relationship.ParentField);

            return(relationshipDTO);
        }
 public void Hydrate(Relationship relationship, RelationshipDTO relationshipDTO)
 {
     relationship.ParentEntityId         = relationshipDTO.ParentEntityId;
     relationship.ChildEntityId          = relationshipDTO.ChildEntityId;
     relationship.CollectionName         = relationshipDTO.CollectionName;
     relationship.CollectionFriendlyName = relationshipDTO.CollectionFriendlyName;
     relationship.ParentName             = relationshipDTO.ParentName;
     relationship.ParentFriendlyName     = relationshipDTO.ParentFriendlyName;
     relationship.ParentFieldId          = relationshipDTO.ParentFieldId;
     relationship.DisplayListOnParent    = relationshipDTO.DisplayListOnParent;
     relationship.Hierarchy = relationshipDTO.Hierarchy;
     relationship.SortOrder = relationshipDTO.SortOrder;
     relationship.RelationshipAncestorLimit = relationshipDTO.RelationshipAncestorLimit;
     relationship.CascadeDelete             = relationshipDTO.CascadeDelete;
 }