Exemple #1
0
        private OperationResponse PagoTCMM(FinalizarVentaRequest request)
        {
            OperationResponse response = new OperationResponse();

            response.CodeNumber = "1";
            VentaResponse venta = this.repository.ObtenerVentaPorFolio(request.FolioVenta, 0);

            foreach (LineaTicket linea in venta.Lineas)
            {
                if (linea.TipoDetalleVenta == "46")
                {
                    PagoTCMMRequest pago = new PagoTCMMRequest();
                    pago.ModoEntrada   = 12;
                    pago.NumeroCaja    = token.CodeBox;
                    pago.NumeroTienda  = token.CodeStore;
                    pago.Transaccion   = venta.NumeroTransaccion;
                    pago.Importe       = linea.Articulo.PrecioConImpuestos;
                    pago.NumeroTarjeta = linea.Articulo.InformacionPagoTCMM.NumeroTarjeta;
                    response           = new MelodyMilanoBusiness(this.token).RealizarPago(pago);
                    if (response.CodeNumber == "1")
                    {
                        OperationResponse operationResponseAutoriacion = this.repository.RegistrarAutorizacionPagoTCMM(request.FolioVenta, pago.NumeroTarjeta, response.CodeDescription);
                    }
                }
            }
            return(response);
        }
Exemple #2
0
 /// <summary>
 /// Método para realizar un pago a una TCMM
 /// </summary>
 /// <param name="request">Objeto petición con información de Pago TCMM asociada</param>
 /// <returns></returns>
 public ResponseBussiness <OperationResponse> RealizarPago(PagoTCMMRequest request)
 {
     return(tryCatch.SafeExecutor(() =>
     {
         OperationResponse operationResponse = new OperationResponse();
         InfoService infoService = new InfoService();
         operationResponse.CodeNumber = "0";
         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(10);
         var cadenaURL = infoService.UrlService;
         HttpWebRequest webrequest = (HttpWebRequest)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\":\"" + request.NumeroTarjeta + "\"," +
                           "\"BranchId\":\"" + request.NumeroTienda + "\"," +
                           "\"TerminalNumber\":\"" + request.NumeroCaja + "\"," +
                           "\"VoucherNumber\":\"" + request.Transaccion + "\"," +
                           "\"TransactionAmount\":\"" + request.Importe + "\"," +
                           "\"EntryMode\":\"" + request.ModoEntrada + "\"}";
             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);
             if (resultadoTemporal.ErrorCode == 0)
             {
                 operationResponse.CodeNumber = "1";
                 operationResponse.CodeDescription = resultadoTemporal.Response;
             }
             else
             {
                 operationResponse.CodeDescription = resultadoTemporal.Message;
             }
         }
         return operationResponse;
     }));
 }