コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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, @"<[^>]+>|&quot;|&nbsp;", "").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);
        }