/// <summary> /// Crea una nueva Solicitud en SOS IT de Celistics /// </summary> /// <param name="request">Objeto que contiene todos los datos de autenticacion del usuario e información de la Solicitud a consultar</param> /// <returns>Respuesta de la consulta de una determinada solicitud</returns> public GetSolicitudeResponse GetSolicitude(GetSolicitudeRequest request) { string methodName = string.Format("{0}", System.Reflection.MethodBase.GetCurrentMethod().Name); this.LogRequest(request); GetSolicitudeResponse response = new GetSolicitudeResponse(); string sessionId = this.GetSessionId(request, response, out this.errorMessage); if (this.errorMessage != ErrorMessagesMnemonics.None) { return(response); } if (!request.IsValidRequest()) { this.SetResponseErrorCode(response, ErrorMessagesMnemonics.InvalidRequiredFields); return(response); } GetSolicitudeOperation OperationRequest = new GetSolicitudeOperation(); //Llamado REST al API SOS IT response = (GetSolicitudeResponse)OperationRequest.CallOperation(this.urlApi, this.technicianKey, this.TimeOutSOSIT, Request.EnumOperation.GET_REQUEST, request.Workorderid, -1, -1, null, null); if (request.WhitConversations) { ListConversationsRequest requestConversation = new ListConversationsRequest(); requestConversation.AuthenticationData = request.AuthenticationData; requestConversation.DeviceType = request.DeviceType; requestConversation.Platform = request.Platform; requestConversation.Workorderid = request.Workorderid; ListConversationsResponse responseConversation = ListConversations(requestConversation); if (responseConversation != null && responseConversation.ResponseCode == 0) { response.Conversations = responseConversation.Conversations; } } return(response); }
/// <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 GetSolicitudeResponse(); if (NodeDetails != null && statuscode.Equals("200")) { ((GetSolicitudeResponse)objectData).ResponseCode = 0; ((GetSolicitudeResponse)objectData).ResponseMessage = "Transacción aprobada"; string[] camposxmlResponseGet = GetcamposxmlOutput; foreach (string nameItem in camposxmlResponseGet) { XmlNode tempNode = NodeDetails.SelectSingleNode("parameter[name[text() = '" + nameItem + "']]"); if (tempNode != null) { string valueItem = tempNode.SelectSingleNode("value").InnerText; if (nameItem.Equals("workorderid")) { ((GetSolicitudeResponse)objectData).Workorderid = valueItem; } else if (nameItem.Equals("createdtime")) { ((GetSolicitudeResponse)objectData).Createdtime = UtilsSOSIT.FromUtcToLocalTime(valueItem);; } else if (nameItem.Equals("subject")) { ((GetSolicitudeResponse)objectData).Subject = valueItem; } else if (nameItem.Equals("description")) { string tempDesctiption = Encoding.UTF8.GetString(Encoding.Default.GetBytes(valueItem)); tempDesctiption = Regex.Replace(tempDesctiption, "<br />", "\n").Trim(); ((GetSolicitudeResponse)objectData).Description = Regex.Replace(tempDesctiption, @"<[^>]+>|"| ", "").Trim(); } else if (nameItem.Equals("status")) { ((GetSolicitudeResponse)objectData).Status = valueItem; } else if (nameItem.Equals("category")) { ((GetSolicitudeResponse)objectData).Category = valueItem; } else if (nameItem.Equals("subcategory")) { ((GetSolicitudeResponse)objectData).Subcategory = valueItem; } else if (nameItem.Equals("item")) { ((GetSolicitudeResponse)objectData).Item = valueItem; } else if (nameItem.Equals("priority")) { ((GetSolicitudeResponse)objectData).Priority = valueItem; } else if (nameItem.Equals("group")) { ((GetSolicitudeResponse)objectData).Group = valueItem; } } } } else { ((GetSolicitudeResponse)objectData).ResponseCode = 07; ((GetSolicitudeResponse)objectData).ResponseMessage = "No fue posible consultar la solicitud"; } return(objectData); }