public ResponseBussiness <InformacionTCMMResponse> ConsultarInformacionTCMM(InformacionTCMMRequest informacionTCMMRequest) { TokenDto token = new TokenService().Get(); ResponseBussiness <InformacionTCMMResponse> response = new MelodyMilanoBusiness(token).ConsultarInformacionTCMM(informacionTCMMRequest, informacionTCMMRequest.ImprimirTicket); return(response); }
/// <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; })); }