public static ClientSchemaObjectBase ToClientSchemaObjectBaseObject(this SchemaObjectBase pcObject) { pcObject.NullCheck("pcObject"); ClientSchemaObjectBase result; if (pcObject is SCRelationObject) { result = new ClientSchemaRelation(); } else if (pcObject is SCMemberRelation) { result = new ClientSchemaMember(); result.SchemaType = pcObject.SchemaType; FillPropertiesFromPC(((ClientSchemaMember)result), (SCMemberRelation)pcObject); } else { result = CreateClientBaseObject(pcObject.SchemaType); } result.ID = pcObject.ID; result.Status = (ClientSchemaObjectStatus)pcObject.Status; result.VersionStartTime = pcObject.VersionStartTime; result.VersionEndTime = pcObject.VersionEndTime; pcObject.Properties.CopyTo(result.Properties); if (pcObject.Creator != null && string.IsNullOrEmpty(pcObject.Creator.ID) == false) { result.Creator = new ClientOguUser(pcObject.Creator); } return(result); }
public static ClientSchemaRelation ToClientSchemaObject(this SCRelationObject pcRelation) { ClientSchemaRelation result = new ClientSchemaRelation(); FillCommon(pcRelation, result); result.ParentID = pcRelation.ParentID; result.ChildID = pcRelation.ID; result.ChildSchemaType = pcRelation.ChildSchemaType; result.ParentSchemaType = pcRelation.ParentSchemaType; result.Default = pcRelation.Default; result.FullPath = pcRelation.FullPath; result.InnerSort = pcRelation.InnerSort; result.GolbalSort = pcRelation.GlobalSort; return(result); }