private static EntityCollection GetEntityCollectionResults(XmlDocument resultXml, Type entityType) { // Get the id of the created object from the returned xml XmlNode soapBody = resultXml.FirstChild.FirstChild; XmlNode resultNode = XmlHelper.SelectSingleNodeDeep(soapBody, "RetrieveMultipleResult"); XmlNode results = XmlHelper.SelectSingleNode(resultNode, "Entities"); // Parse result into array of Entity objects int resultCount = 0; if (results != null) { resultCount = results.ChildNodes.Count; } List <Entity> businessEntities = new List <Entity>(); for (int i = 0; i < resultCount; i++) { XmlNode entityNode = results.ChildNodes[i]; Entity entity = (Entity)Type.CreateInstance(entityType, null); entity.DeSerialise(entityNode); businessEntities[i] = entity; } EntityCollection entities = new EntityCollection(businessEntities); entities.MoreRecords = XmlHelper.SelectSingleNodeValue(resultNode, "MoreRecords") == "true"; entities.PagingCookie = XmlHelper.SelectSingleNodeValue(resultNode, "PagingCookie"); entities.TotalRecordCount = int.Parse(XmlHelper.SelectSingleNodeValue(resultNode, "TotalRecordCount")); entities.TotalRecordCountLimitExceeded = XmlHelper.SelectSingleNodeValue(resultNode, "TotalRecordCountLimitExceeded") == "true"; return(entities); }
public static Entity EndRetrieve(object asyncState, Type entityType) { XmlDocument resultXml = (XmlDocument)asyncState; XmlNode entityNode = XmlHelper.SelectSingleNodeDeep(resultXml, "RetrieveResult"); Entity entity = new Entity(null); entity.DeSerialise(entityNode); return(entity); }
public static Entity Retrieve(string entityName, string entityId, string[] attributesList) { XmlDocument resultXml = GetResponse(GetRetrieveRequest(entityName, entityId, attributesList), "Retrieve", null); XmlNode entityNode = XmlHelper.SelectSingleNodeDeep(resultXml, "RetrieveResult"); Entity entity = new Entity(entityName); entity.DeSerialise(entityNode); // Tidy up Script.Literal("delete {0}", resultXml); resultXml = null; return(entity); }
public static EntityCollection DeSerialise(XmlNode node) { List <Entity> entities = new List <Entity>(); EntityCollection collection = new EntityCollection(entities); collection.EntityName = XmlHelper.SelectSingleNodeValue(node, "EntityName"); XmlNode entitiesNode = XmlHelper.SelectSingleNodeDeep(node, "Entities"); foreach (XmlNode entityNode in entitiesNode.ChildNodes) { Entity entity = new Entity(collection.EntityName); entity.DeSerialise(entityNode); ArrayEx.Add(entities, entity); } return(collection); }
public static EntityCollection DeSerialise(XmlNode node) { List<Entity> entities = new List<Entity>(); EntityCollection collection = new EntityCollection(entities); collection.EntityName = XmlHelper.SelectSingleNodeValue(node, "EntityName"); XmlNode entitiesNode = XmlHelper.SelectSingleNodeDeep(node, "Entities"); foreach (XmlNode entityNode in entitiesNode.ChildNodes) { Entity entity = new Entity(collection.EntityName); entity.DeSerialise(entityNode); ArrayEx.Add(entities, entity); } return collection; }
public static Entity Retrieve(string entityName, string entityId, string[] attributesList) { XmlDocument resultXml = GetResponse(GetRetrieveRequest(entityName, entityId, attributesList), "Retrieve", null); XmlNode entityNode = XmlHelper.SelectSingleNodeDeep(resultXml, "RetrieveResult"); Entity entity = new Entity(entityName); entity.DeSerialise(entityNode); // Tidy up Script.Literal("delete {0}", resultXml); resultXml = null; return entity; }
public static Entity EndRetrieve(object asyncState, Type entityType) { XmlDocument resultXml = (XmlDocument)asyncState; XmlNode entityNode = XmlHelper.SelectSingleNodeDeep(resultXml, "RetrieveResult"); Entity entity = new Entity(null); entity.DeSerialise(entityNode); return entity; }