/// <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</param> /// <returns>Respuesta de la creacio de solicitud</returns> public AddSolicitudeResponse AddSolicitude(AddSolicitudeRequest request) { string methodName = string.Format("{0}", System.Reflection.MethodBase.GetCurrentMethod().Name); this.LogRequest(request); AddSolicitudeResponse response = new AddSolicitudeResponse(); 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); } AddSolicitudeOperation OperationRequest = new AddSolicitudeOperation(); string[] Addcamposxmlinput = OperationRequest.Addcamposxmlinput; XmlDocument DataInputXML = CreateXmlDataInput(request, Addcamposxmlinput);; //llamado REST al API SOS IT response = (AddSolicitudeResponse)OperationRequest.CallOperation(this.urlApi, this.technicianKey, this.TimeOutSOSIT, Request.EnumOperation.ADD_REQUEST, -1, -1, -1, null, DataInputXML); 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 NodeworkorderidAdd = xmlDoc.DocumentElement.SelectSingleNode("response/operation/Details/workorderid"); objectData = new AddSolicitudeResponse(); if (NodeworkorderidAdd != null && statuscode.Equals("200")) { ((AddSolicitudeResponse)objectData).ResponseCode = 0; ((AddSolicitudeResponse)objectData).ResponseMessage = "Transacción aprobada"; ((AddSolicitudeResponse)objectData).Workorderid = NodeworkorderidAdd.InnerText; } else { ((AddSolicitudeResponse)objectData).ResponseCode = 07; ((AddSolicitudeResponse)objectData).ResponseMessage = "No fue posible crear la solicitud"; ((AddSolicitudeResponse)objectData).Workorderid = "-1"; } return(objectData); }