DeSerialise() public method

Set the attribute values from SDK Webservice response on a business entity
public DeSerialise ( XmlNode entityNode ) : void
entityNode System.Xml.XmlNode
return void
        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);
        }
Example #4
0
        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);
        }
Example #5
0
 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;
        }