Ejemplo n.º 1
0
        public ResponseBussiness <InformacionTCMMResponse> ConsultarInformacionTCMM(InformacionTCMMRequest informacionTCMMRequest)
        {
            TokenDto token = new TokenService().Get();
            ResponseBussiness <InformacionTCMMResponse> response = new MelodyMilanoBusiness(token).ConsultarInformacionTCMM(informacionTCMMRequest, informacionTCMMRequest.ImprimirTicket);

            return(response);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Método para consultar la información de TCMM
        /// </summary>
        /// <param name="informacionTCMMRequest">Objeto petición con información de TCMM asociada</param>
        /// <param name="imprimirTicket">Parámetro que indica si el Ticket debe imprimirse</param>
        /// <returns></returns>
        public ResponseBussiness <InformacionTCMMResponse> ConsultarInformacionTCMM(InformacionTCMMRequest informacionTCMMRequest, Boolean imprimirTicket)
        {
            return(tryCatch.SafeExecutor(() =>
            {
                InformacionTCMMResponse informacion = new InformacionTCMMResponse();
                Inspector inspector = new Inspector();
                InfoService infoService = new InfoService();
                InformacionServiciosExternosBusiness informacionServiciosExternosBusiness = new InformacionServiciosExternosBusiness();
                //NOTA: Unicamente se manda a llamar la URL ya que en el web.config se tiene como keys, y no se esta conectando el servicio mediante vs
                infoService = informacionServiciosExternosBusiness.ObtenerCadenaServicioExterno(6);
                var cadenaURL = infoService.UrlService;
                System.Net.HttpWebRequest webrequest = (HttpWebRequest)System.Net.WebRequest.Create(cadenaURL);
                //webrequest.Headers.Add ("Authorization","Basic dXNybW13czpNMWw0bjAqMjAxOA==");
                webrequest.Headers.Add("Authorization", credenciales.Licence);
                webrequest.Method = "POST";
                webrequest.ContentType = "application/json";

                using (var streamWriter = new StreamWriter(webrequest.GetRequestStream()))
                {
                    string json = "{\"User\":\"" + credenciales.UserName + "\"," +
                                  "\"Pwd\":\"" + credenciales.Password + "\"," +
                                  "\"CardId\":\"" + informacionTCMMRequest.NumeroTarjeta + "\"}";
                    streamWriter.Write(json);
                    streamWriter.Flush();
                    streamWriter.Close();
                }

                var httpResponse = (HttpWebResponse)webrequest.GetResponse();
                using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                {
                    var result = streamReader.ReadToEnd();
                    dynamic resultadoTemporal = JsonConvert.DeserializeObject(result);

                    informacion.CodigoRespuestaTCMM = new CodigoRespuestaTCMM();
                    informacion.CodigoRespuestaTCMM.CodigoRespuesta = resultadoTemporal.ErrorCode;
                    informacion.CodigoRespuestaTCMM.MensajeRetorno = resultadoTemporal.Message;

                    if (informacion.CodigoRespuestaTCMM.CodigoRespuesta == "0")
                    {
                        informacion.SaldoEnLinea = resultadoTemporal.Response.Balance;
                        informacion.SaldoAlCorte = resultadoTemporal.Response.LastBalance;
                        if (resultadoTemporal.Response.PaymentDate.ToString() != string.Empty)
                        {
                            informacion.FechaLimitePago = DateTime.Parse(resultadoTemporal.Response.PaymentDate.ToString()).ToString();
                        }
                        informacion.PagoMinimo = resultadoTemporal.Response.PeriodAmount;
                        informacion.SaldoEnPuntos = resultadoTemporal.Response.BalancePoints;
                        informacion.EquivalenteEnPuntos = resultadoTemporal.Response.BalancePointsEq;
                        informacion.PuntosAcumuladosUltimoCorte = resultadoTemporal.Response.PeriodPoints;
                        informacion.MontoPagoSinIntereses = resultadoTemporal.Response.NoInterestPaymentAmount;
                        // Realizar el proceso de Truncado
                        informacion.SaldoEnLinea = inspector.TruncarValor(informacion.SaldoEnLinea);
                        informacion.SaldoAlCorte = inspector.TruncarValor(informacion.SaldoAlCorte);
                        informacion.PagoMinimo = inspector.TruncarValor(informacion.PagoMinimo);
                        informacion.EquivalenteEnPuntos = inspector.TruncarValor(informacion.EquivalenteEnPuntos);
                        informacion.MontoPagoSinIntereses = inspector.TruncarValor(informacion.MontoPagoSinIntereses);
                    }
                }

                if (imprimirTicket)
                {
                    // Persistencia de Consulta de Saldo
                    melodyMilanoRepository.PersistirConsultarInformacionTCMM(token.CodeBox, token.CodeStore, token.CodeEmployee, informacion.SaldoEnLinea, informacion.SaldoAlCorte, informacion.FechaLimitePago, informacion.PagoMinimo, informacion.SaldoEnPuntos, informacion.EquivalenteEnPuntos, informacion.PuntosAcumuladosUltimoCorte);

                    //Impresión de Tickets de Consulta de Saldo
                    PrintTicketConsultaSaldo printTicketConsultaSaldo = new PrintTicketConsultaSaldo(token);
                    OperationResponse operationResponse = new OperationResponse();
                    OperationResponse operation = printTicketConsultaSaldo.PrintNow(informacionTCMMRequest.NumeroTarjeta);
                }

                return informacion;
            }));
        }