コード例 #1
0
        public IHttpActionResult PrintDctoPago(int idEmp, long idServ, [FromBody] DetallePagoClienteModel detalle)
        {
            string arreglo        = string.Empty;
            string respuesta      = string.Empty;
            string detalleCliente = string.Empty;

            var pagging = new PaginParameterModel()
            {
                _pageSize = 30
            };
            IHttpActionResult httpResp = new DocumentoController().DocumentoPago(idEmp, idServ, pagging);

            var items = ((OkNegotiatedContentResult <ResponseClient <DocumentoObj> >)httpResp).Content;

            if (detalle != null)
            {
                detalleCliente = detalle.NroCliente + ";" +
                                 detalle.Empresa + ";" +
                                 detalle.NombreCliente + ";" +
                                 detalle.RutCliente + ";" +
                                 detalle.DvCliente + ";" +
                                 detalle.Direccion + ";" +
                                 detalle.Comuna + ";" +
                                 detalle.Tarifa;
            }
            if (items.Items.Count > 0)
            {
                for (var i = 0; i < items.Items.Count; i++)
                {
                    arreglo += items.Items[i].NroDocto.ToString() + ";" + items.Items[i].MontoPago.ToString() + ";" + items.Items[i].FechaPago.ToString() + ";" + items.Items[i].MedioPago.ToString() + "@";
                }
            }
            pipe      = new PipeService();
            arreglo   = arreglo.Substring(0, arreglo.Length - 1);
            arreglo   = detalleCliente + "#" + arreglo;
            respuesta = pipe.ComponentPipe(arreglo, "historial");

            return(Ok(respuesta));
        }
コード例 #2
0
        public IHttpActionResult HistorialConsumo(int idEmp, long idServ, [FromUri] PaginParameterModel paginParameterModel)
        {
            string     strResponse = string.Empty;
            CuponModel cupon       = null;

            try
            {
                if (idEmp != 0 && idServ != 0)
                {
                    CuponService rCliente = new CuponService("DetalleConsumoGrilla");
                    strResponse = rCliente.BuscarCuponPagoSvc("{\"p_cod_empresa\": " + idEmp + ",\"p_numero_servicio\": " + idServ + "}");

                    if (strResponse != "")
                    {
                        JObject jObject = JObject.Parse(strResponse);

                        JValue result       = (JValue)jObject["resultado"].ToString();
                        JValue message      = (JValue)jObject["mensaje"].ToString();
                        JValue descriptions = (JValue)jObject["descripcion"].ToString();

                        if ((result).Value.Equals("T"))
                        {
                            if (
                                (descriptions.Value != null) &&
                                (descriptions.Value.ToString() != "") &&
                                (!descriptions.Value.ToString().Equals("<InformacionServicio></InformacionServicio>")))
                            {
                                var ser     = new Serializer();
                                var details = "<Datos>" + descriptions + "</Datos>";

                                while (details.Contains("   "))
                                {
                                    details = details.Replace("   ", "");
                                }

                                var xmlParse = details.Replace("</ESTADO><FECHA_LECTURA>", "</ESTADO></InformacionServicio><InformacionServicio><FECHA_LECTURA>");
                                cupon = ser.Deserialize <CuponModel>(xmlParse.Trim().TrimEnd().TrimStart());

                                // conteo de filas
                                int count = cupon.ObjList.Count;

                                // El parámetro se pasa de la cadena de consulta si es nulo, entonces el valor predeterminado será pageNumber: 1
                                int currentPage = paginParameterModel.pageNumber;

                                // El parámetro se pasa de la cadena de consulta si es nulo, entonces el valor predeterminado será pageSize: 20
                                int pageSize = paginParameterModel.PageSize;

                                int totalCount = count;
                                int totalPages = (int)Math.Ceiling(count / (double)pageSize);
                                var docItem    = (from doc in cupon.ObjList.OrderBy(a => a.FechaFacturacion)
                                                  select doc).AsQueryable();

                                var item = docItem.Skip((currentPage - 1) * pageSize).Take(pageSize).ToList();

                                var resp = new ResponseClient <CuponObj>();
                                resp.Items    = item.OrderByDescending(x => x.OrdenFechaLectura).ToList();
                                resp.TotalPag = totalPages;
                                resp.TotalReg = totalCount;

                                return(Ok(resp));
                            }
                        }
                        else if ((result).Value.Equals("F"))
                        {
                            if (message != null)
                            {
                                return(Ok(new ApiResponse()
                                {
                                    Code = -1, Message = message.ToString()
                                }));
                            }
                            else
                            {
                                return(Ok("Datos ingresados no válido"));
                            }
                        }
                    }
                }
            }
            catch (ArgumentException)
            {
                return(InternalServerError());
            }
            return(InternalServerError());
        }
コード例 #3
0
        public IHttpActionResult SearchClientDetailsPerLocation(int idEmp, int idCom, int idCalle, int num, string dpto, [FromUri]PaginParameterModel paginParameterModel)
        {

            string dptoRq = (dpto == "0")? "" : dpto.ToString();
            string nroRq = (num.ToString() == "0") ? "0" : num.ToString();
            string strResponse = string.Empty;
            ClienteModel customer = null;
            ResponseClient<ClienteObj> resp = null;
            try
            {
                if (idEmp != 0 && idCom != 0 && idCalle != 0)
                {
                    ClienteService rCliente = new ClienteService("BuscadorDireccion");
                    strResponse = rCliente.BuscarClienteSvc("{\"p_cod_empresa\":  " + idEmp + " ,\"p_cod_comuna\": " + idCom + " ,\"p_cod_calle\":  " + idCalle + ", \"p_numero\": " + nroRq.Trim() + ", \"p_departamento\": \"" + dptoRq.Trim() + "\" }");

                    if (strResponse != "")
                    {
                        JObject jObject = JObject.Parse(strResponse);

                        JValue result = (JValue)jObject["resultado"].ToString();
                        JValue descriptions = (JValue)jObject["descripcion"].ToString();

                        if ((result).Value.Equals("T"))
                        {
                            if (
                                (descriptions.Value != null) &&
                                (descriptions.Value.ToString() != "") &&
                                (!(descriptions.Value.ToString().Equals("<DatosServicios></DatosServicios>"))))
                            {
                                var ser = new Serializer();
                                var details = "<Datos>" + descriptions + "</Datos>";
                                
                                details = details.Replace("DatosServicios", "InformacionServicio");
                                var xmlParse = details.Replace("</DIRECCION>   <EMPRESA>", "</DIRECCION></InformacionServicio><InformacionServicio><EMPRESA>");
                                
                                customer = ser.Deserialize<ClienteModel>(xmlParse);

                                // conteo de filas
                                int count = customer.ObjList.Count;

                                // El parámetro se pasa de la cadena de consulta si es nulo, entonces el valor predeterminado será pageNumber: 1
                                int currentPage = paginParameterModel.pageNumber;

                                // El parámetro se pasa de la cadena de consulta si es nulo, entonces el valor predeterminado será pageSize: 20 
                                int pageSize = 10000;

                                int totalCount = count;
                                int totalPages = (int)Math.Ceiling(count / (double)pageSize);
                                var docItem = (from doc in customer.ObjList.OrderBy(a => a.NumeroServicio)
                                               select doc).AsQueryable();

                                var item = docItem.Skip((currentPage - 1) * pageSize).Take(pageSize).ToList();

                                resp = new ResponseClient<ClienteObj>();
                                resp.Items = item.OrderByDescending(x => x.NumeroServicio).ToList();
                                resp.TotalPag = totalPages;
                                resp.TotalReg = totalCount;
                                return Ok(resp);
                            }
                             
                        }
                        else if ((result).Value.Equals("F"))
                        {
                            return Ok(new ResponseClient<ClienteObj>());
                        }
                    }
                }
            }
            catch (ArgumentException)
            {
                return InternalServerError();
            }
            return InternalServerError();
        }