/// <summary> /// Crea el response del API Movilway dependiendo de la operacion /// </summary> protected override AGenericApiResponse CreateResponseObject(string PageContent, int BranchId = -1, string CountryAcronym = null) { AGenericApiResponse objectData = null; XmlDocument xmlDoc = new XmlDocument(); string statuscode = ""; string message = ""; xmlDoc.LoadXml(PageContent); statuscode = xmlDoc.DocumentElement.SelectSingleNode("response/operation/result/statuscode").InnerText; message = xmlDoc.DocumentElement.SelectSingleNode("response/operation/result/message").InnerText; XmlNode NodeDetails = xmlDoc.DocumentElement.SelectSingleNode("response/operation/Details"); objectData = new ListSolicitudesResponse(); if (NodeDetails != null && statuscode.Equals("200")) { ((ListSolicitudesResponse)objectData).ResponseCode = 0; ((ListSolicitudesResponse)objectData).ResponseMessage = "Transacción aprobada"; ((ListSolicitudesResponse)objectData).Solicitudes = new System.Collections.Generic.List <Solicitude>(); XmlNodeList listRecordNodes = NodeDetails.SelectNodes("//record[parameter[contains(value, '[" + CountryAcronym + "-" + BranchId + "]')]]"); string[] camposxmlResponseGet = GetcamposxmlOutput; foreach (XmlNode auxRecord in listRecordNodes) { Solicitude newSolicitude = new Solicitude(); foreach (string nameItem in camposxmlResponseGet) { XmlNode tempNode = auxRecord.SelectSingleNode("parameter[name[text() = '" + nameItem + "']]"); if (tempNode != null) { string valueItem = tempNode.SelectSingleNode("value").InnerText; if (nameItem.Equals("workorderid")) { newSolicitude.workorderid = Convert.ToInt32(valueItem); } else if (nameItem.Equals("requester")) { newSolicitude.requester = valueItem; } else if (nameItem.Equals("createdby")) { newSolicitude.createdby = valueItem; } else if (nameItem.Equals("createdtime")) { newSolicitude.createdtime = UtilsSOSIT.FromUtcToLocalTime(valueItem);; } else if (nameItem.Equals("subject")) { newSolicitude.subject = valueItem; } else if (nameItem.Equals("technician")) { newSolicitude.technician = valueItem; } else if (nameItem.Equals("priority")) { newSolicitude.priority = valueItem; } else if (nameItem.Equals("status")) { newSolicitude.status = valueItem; } } } ((ListSolicitudesResponse)objectData).Solicitudes.Add(newSolicitude); } } else { ((ListSolicitudesResponse)objectData).ResponseCode = 07; ((ListSolicitudesResponse)objectData).ResponseMessage = "No fue posible consultar el listado de conversaciones de una solicitud"; } return(objectData); }