private void CmdLeer_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrWhiteSpace(NumOrden.Text)) { Globales.MessageBoxMit("Ingresa Referencia"); NumOrden.Focus(); return; } if (string.IsNullOrWhiteSpace(NumCuarto.Text)) { Globales.MessageBoxMit("Ingresa Cuarto"); NumCuarto.Focus(); return; } if (string.IsNullOrWhiteSpace(Importe.Text)) { Globales.MessageBoxMit("Ingresa Importe"); Importe.Focus(); return; } realizaOp(); }
private void realizaOp() { if (string.IsNullOrWhiteSpace(NumOrden.Text)) { Globales.MessageBoxMit("Introduzca" + TypeUsuario.reference); NumOrden.Focus(); return; } else if (string.IsNullOrWhiteSpace(NumMesero.Text)) { Globales.MessageBoxMit("Introduzca el Número de Mesero."); NumMesero.Focus(); return; } else if (string.IsNullOrWhiteSpace(NumTurno.Text)) { Globales.MessageBoxMit("Introduzca el Turno"); NumTurno.Focus(); return; } else if (string.IsNullOrWhiteSpace(Importe.Text)) { Globales.MessageBoxMit("Introduzca el importe."); Importe.Focus(); return; } else if ((Utils.Mid(Globales.GetDataXml("facileasing", TypeUsuario.CadenaXML), 1, 1) == "1") && (Globales.GetDataXml("tarjeta", Globales.cpHTTP_sResult) != NumTdc.Text)) { Globales.MessageBoxMit("La Tarjeta Deslizada no corresponde con el Servicio a cobrar"); } else if (TypeUsuario.Id_Company == "0059") { if (NumOrden.Text.Length != 28) { Globales.MessageBoxMit("El no. de REFERENCIA debe ser de 28 posiciones"); NumOrden.Focus(); return; } } if (!Globales.isNumeric(Importe.Text)) { Globales.MessageBoxMit("El importe debe ser numérico."); Importe.Focus(); return; } CmdLeer.IsEnabled = false; cboBanco.IsEnabled = false; FormaPago.IsEnabled = false; NumOrden.IsEnabled = false; Importe.IsEnabled = false; NumMesero.IsEnabled = false; NumTurno.IsEnabled = false; Globales.cpIntegraEMV.dbgSetUrl(Globales.URL_3GATE); // // 'Prepara PinPad y DLL, para EMV Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait; Globales.cpIntegraEMV.dbgStartTxEMV(Importe.Text); CmdLeer.IsEnabled = false; Mouse.OverrideCursor = null; if (string.IsNullOrWhiteSpace(Globales.cpIntegraEMV.chkPp_CdError()) && !string.IsNullOrWhiteSpace(Globales.cpIntegraEMV.chkCc_Number())) { // // 'Extrae Datos de la tarjeta NumTdc.Text = Globales.cpIntegraEMV.chkCc_Number(); NomTdc.Text = Globales.cpIntegraEMV.chkCc_Name(); this.mes = Globales.cpIntegraEMV.chkCc_ExpMonth(); this.anio = Globales.cpIntegraEMV.chkCc_ExpYear(); this.TFECHAVENC.Text = string.Format("{0}/{1}", this.mes, this.anio); Globales.merchantBanda = Globales.cpIntegraEMV.dbgGetMerchantBanda("9"); if (Globales.merchantBanda != "00000") { Globales.isAmex = Globales.cpIntegraEMV.dbgGetisAmex(); this.formaPago(); CmdLeer.Visibility = Visibility.Hidden; CmdEnviar.IsEnabled = true; CmdEnviar.Visibility = Visibility.Visible; if (!Globales.cpIntegraEMV.dbgTxMonitor()) { Globales.MessageBoxMitError(Globales.cpIntegraEMV.getRspDsError()); CmdLeer.Visibility = Visibility.Visible; CmdLeer.IsEnabled = true; CmdEnviar.IsEnabled = false; CmdEnviar.Visibility = Visibility.Hidden; FormaPago.Visibility = Visibility.Hidden; // Label(6).Visibility = Visibility.Hidden; NumTdc.Text = ""; NomTdc.Text = ""; this.TFECHAVENC.Text = string.Empty; this.mes = string.Empty; this.anio = string.Empty; } } else { Globales.MessageBoxMitError(Globales.cpIntegraEMV.getRspDsError()); } } else { if (!string.IsNullOrWhiteSpace(Globales.cpIntegraEMV.chkPp_CdError())) { Globales.MessageBoxMitError("Error en leer la tarjeta..."); } CmdLeer.IsEnabled = true; } }
private void Page_Loaded(object sender, RoutedEventArgs e) { NumOrden.Focus(); }
private void CmdEnviar_Click(object sender, RoutedEventArgs e) { Globales.strNombreFP = NOMBRE_GENERAL + ".cmdEnviar_Click()"; string mensaje = string.Empty; CmdEnviar.IsEnabled = false; FormaPago.IsEnabled = false; if (string.IsNullOrWhiteSpace(NumTdc.Text) || string.IsNullOrWhiteSpace(this.mes) || string.IsNullOrWhiteSpace(this.anio)) { Globales.MessageBoxMit("Deslice la tarjeta bancaria"); CmdEnviar.IsEnabled = true; return; } else if (string.IsNullOrWhiteSpace(NumOrden.Text)) { Globales.MessageBoxMit("Introduzca" + TypeUsuario.reference + ""); NumOrden.Focus(); CmdEnviar.IsEnabled = true; return; } else if (string.IsNullOrWhiteSpace(NumMesero.Text)) { Globales.MessageBoxMit("Introduzca el Número de Mesero."); NumMesero.Focus(); CmdEnviar.IsEnabled = true; return; } else if (string.IsNullOrWhiteSpace(NumTurno.Text)) { Globales.MessageBoxMit("Introduzca el Turno."); NumTurno.Focus(); CmdEnviar.IsEnabled = true; return; } else if (string.IsNullOrWhiteSpace(Importe.Text)) { Globales.MessageBoxMit("Introduzca el Turno."); Importe.Focus(); CmdEnviar.IsEnabled = true; return; } else if (Utils.Mid(Globales.GetDataXml("facileasing", TypeUsuario.CadenaXML), 1, 1) == "1" && (Globales.GetDataXml("tarjeta", Globales.cpHTTP_sResult) != NumTdc.Text)) { Globales.MessageBoxMit("La Tarjeta Deslizada no corresponde con el Servicio a cobrar"); CmdEnviar.IsEnabled = true; return; } else if (TypeUsuario.Id_Company == "0059") { if (NumOrden.Text.Length != 28) { Globales.MessageBoxMit("El no. de REFERENCIA debe ser de 28 posiciones"); NumOrden.Focus(); CmdEnviar.IsEnabled = true; return; } } // 'EMV FULL string strTypeC = string.Empty; string strCadEncriptar = string.Empty; Voucher = string.Empty; if (Globales.isAmex) { strTypeC = "AMEX"; } else { strTypeC = "V/MC"; } // 'Se agrega validación para no permitir enviar la transacción sin contar con merchant if (string.IsNullOrWhiteSpace(Globales.merchantBanda)) { Globales.MessageBoxMit("No hay planes de pago para esta tarjeta, por favor cambie la tarjeta."); CmdEnviar.IsEnabled = true; return; } Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait; string moneda = lblMoneda.Content.ToString(); Globales.cpIntegraEMV.dbgSetCurrencyType(moneda); Globales.cpIntegraEMV.sndPreventaEMV(TypeUsuario.usu, TypeUsuario.Pass, "", TypeUsuario.Id_Company, TypeUsuario.Id_Branch, TypeUsuario.country, strTypeC, Globales.merchantBanda, NumOrden.Text, "9", moneda, NumMesero.Text, NumTurno.Text, Globales.csvAmexenBanda); Mouse.OverrideCursor = null; //frmPlanPagos.merchant = "" //frmPlanPagos.TipoTarjeta = "" //frmPlanPagos.Bin = "" Globales.csvAmexenBanda = ""; string temporal = Globales.cpIntegraEMV.getRspXML(); string aux = Globales.cpIntegraEMV.getRspDsResponse(); aux = aux.ToLower(); switch (aux) { case "approved": cboBanco.IsEnabled = false; FormaPago.IsEnabled = false; NumOrden.IsEnabled = false; Importe.IsEnabled = false; NumMesero.IsEnabled = false; NumTurno.IsEnabled = false; mensaje = Globales.cpIntegraEMV.getRspAuth(); if (TypeUsuario.Id_Company == Globales.EMPREF && TypeUsuario.Id_Branch == Globales.EMPREF2) { frmReferencia refe = new frmReferencia(); refe.ShowDialog(); if (!refe.cancelar) { Globales.cpIntegraEMV.sndReimpresion(TypeUsuario.usu, TypeUsuario.Pass, TypeUsuario.Id_Company, TypeUsuario.Id_Branch, TypeUsuario.country, Globales.cpIntegraEMV.getRspOperationNumber()); Mouse.OverrideCursor = null; } } Globales.MessageBoxMitApproved(mensaje); TypeUsuario.strVoucherCoP = Globales.cpIntegraEMV.getRspVoucher(); CmdNuevo.Visibility = Visibility.Visible; CmdEnviar.Visibility = Visibility.Hidden; cmdVoucher.IsEnabled = true; this.BENVIAMAIL.Visibility = TypeUsuario.enviaCorreo ? Visibility.Visible : Visibility.Hidden; this.BENVIAMAIL.Tag = this.NomTdc.Text; Voucher = Globales.cpIntegraEMV.getRspVoucher(); Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait; Globales.PrintOptions(Voucher, Globales.cpIntegraEMV.getRspOperationNumber()); Mouse.OverrideCursor = null; break; case "denied": //label4.Text = "La transacción ha finalizado, si deseas hacer otra transacción haz clic en el botón Otro Cobro."; if (Utils.Mid(Globales.GetDataXml("facileasing", TypeUsuario.CadenaXML), 1, 1) == "1") { Globales.cpHTTP_Clear(); Globales.cpHTTP_sURL_cpCUCT = TypeUsuario.Url; strCadEncriptar = "&op=facileasingcobrorechazada" + "&nueconomico=" + strNoEconomico + "&nuservicio=" + strNoServicio + "&nuproveedor=" + strProveedor + "&transaccion=" + Globales.cpIntegraEMV.getRspOperationNumber() + "&importe=" + Importe + "&numtdc=" + Utils.Mid(NumTdc.Text, 13, 4) + "&auth=" + "" + "&response=" + Globales.cpIntegraEMV.getRspCdResponse(); Globales.cpHTTP_cadena1 = "enc=" + Globales.encryptString(strCadEncriptar, Globales.KEY_RC4, true); if (Globales.cpHTTP_SendcpCUCT()) { } } Globales.cpHTTP_cadena1 = "enc=" + Globales.encryptString(strCadEncriptar, Globales.KEY_RC4, true); mensaje = Globales.msjRech + " " + Globales.cpIntegraEMV.getRspCdResponse() + " " + Globales.cpIntegraEMV.getRspFriendlyResponse(); Globales.MessageBoxMitDenied(mensaje); CmdNuevo.Visibility = Visibility.Visible; CmdEnviar.Visibility = Visibility.Hidden; break; case "error": if (Globales.EMVLector == "1" && (TypeUsuario.strTipoLector == "3" || TypeUsuario.strTipoLector == "4")) { CmdLeer.Visibility = Visibility.Visible; CmdLeer.IsEnabled = true; CmdEnviar.IsEnabled = false; CmdEnviar.Visibility = Visibility.Hidden; cboBanco.IsEnabled = true; FormaPago.IsEnabled = true; Importe.IsEnabled = true; NumOrden.IsEnabled = true; NumMesero.IsEnabled = true; NumTurno.IsEnabled = true; NumTdc.Text = ""; TFECHAVENC.Text = ""; NomTdc.Text = ""; } else { CmdEnviar.Visibility = Visibility.Visible; CmdEnviar.IsEnabled = true; } mensaje = Globales.cpIntegraEMV.getRspDsError(); Globales.MessageBoxMitError(mensaje); if (mensaje.Contains("La transaccion ya fue aprobada")) { CmdNuevo.Visibility = Visibility.Visible; CmdLeer.Visibility = Visibility.Hidden; cboBanco.IsEnabled = false; FormaPago.IsEnabled = false; NumOrden.IsEnabled = false; Importe.IsEnabled = false; NumMesero.IsEnabled = false; NumTurno.IsEnabled = false; CmdEnviar.Visibility = Visibility.Hidden; CmdEnviar.IsEnabled = false; } else { CmdNuevo.Visibility = Visibility.Hidden; } Globales.cpIntegraEMV.dbgCancelOperation(); break; default: //label4.Text = "La transacción ha finalizado, si deseas intentar nuevamente haz clic en el botón Activar Lector."; if (Globales.EMVLector == "1" && (TypeUsuario.strTipoLector == "3" || TypeUsuario.strTipoLector == "4")) { CmdEnviar.IsEnabled = false; CmdLeer.Visibility = Visibility.Visible; CmdLeer.IsEnabled = true; cboBanco.IsEnabled = true; FormaPago.IsEnabled = true; Importe.IsEnabled = true; NumOrden.IsEnabled = true; NumMesero.IsEnabled = true; NumTurno.IsEnabled = true; } else { CmdEnviar.Visibility = Visibility.Visible; CmdEnviar.IsEnabled = true; } mensaje = "Error de conexión, verifique su reporte."; Globales.MessageBoxMitError(mensaje); CmdNuevo.Visibility = Visibility.Hidden; break; } Mouse.OverrideCursor = null; }
private void realizaOp() { if (string.IsNullOrWhiteSpace(NumOrden.Text)) { Globales.MessageBoxMit("Introduzca" + TypeUsuario.reference + "."); NumOrden.Focus(); } else if (string.IsNullOrWhiteSpace(Importe.Text)) { Globales.MessageBoxMit("Introduzca el importe."); Importe.Focus(); } else if (string.IsNullOrWhiteSpace(NumCuarto.Text)) { Globales.MessageBoxMit("Introduzca el Dato Adicional."); NumCuarto.Focus(); } else if (TypeUsuario.Id_Company == "0059") { if (NumOrden.Text.Length != 28) { Globales.MessageBoxMit("El no. de REFERENCIA debe ser de 28 posiciones"); NumOrden.Focus(); return; } } if (!Globales.IsNumeric(Importe.Text)) { Globales.MessageBoxMit("El importe debe ser numérico." + Globales.NOMBRE_APP); Importe.Focus(); return; } CmdLeer.IsEnabled = false; FormaPago.IsEnabled = false; NumOrden.IsEnabled = false; Importe.IsEnabled = false; NumCuarto.IsEnabled = false; StatusCmd = false; Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait; Globales.cpIntegraEMV.dbgSetUrl(Globales.URL_3GATE); Globales.cpIntegraEMV.dbgStartTxEMV(Importe.Text); CmdLeer.IsEnabled = false; if (string.IsNullOrWhiteSpace(Globales.cpIntegraEMV.chkPp_CdError()) && !string.IsNullOrWhiteSpace(Globales.cpIntegraEMV.chkCc_Number())) { NumTdc.Text = Globales.cpIntegraEMV.chkCc_Number(); NomTdc.Text = Globales.cpIntegraEMV.chkCc_Name(); numeroTarjeta = NomTdc.Text; this._mes = Globales.cpIntegraEMV.chkCc_ExpMonth(); this._anio = Globales.cpIntegraEMV.chkCc_ExpYear(); this.TFECHA.Text = string.Format("{0}/{1}", this._mes, this._anio); Globales.merchantBanda = Globales.cpIntegraEMV.dbgGetMerchantBanda("9"); if (Globales.merchantBanda != "00000") { Globales.isAmex = Globales.cpIntegraEMV.dbgGetisAmex(); FormaPago_Click(); CmdLeer.Visibility = Visibility.Hidden; CmdEnviar.IsEnabled = true; CmdEnviar.Visibility = Visibility.Visible; if (!Globales.cpIntegraEMV.dbgTxMonitor()) { Globales.MessageBoxMit(Globales.cpIntegraEMV.getRspDsError()); CmdLeer.Visibility = Visibility.Visible; CmdLeer.IsEnabled = true; CmdEnviar.IsEnabled = false; CmdEnviar.Visibility = Visibility.Hidden; FormaPago.Visibility = Visibility.Hidden; NumTdc.Text = ""; NomTdc.Text = ""; this._anio = string.Empty; this._mes = string.Empty; this.TFECHA.Text = string.Empty; StatusCmd = true; } } else { Globales.MessageBoxMit(Globales.cpIntegraEMV.getRspDsError()); CmdNuevo_Click(); } } Mouse.OverrideCursor = null; }
private void CmdEnviar_Click(object sender, RoutedEventArgs e) { Globales.strNombreFP = NOMBRE_GENERAL + ".cmdEnviar_Click()"; CmdEnviar.IsEnabled = false; if (string.IsNullOrWhiteSpace(NumTdc.Text) || string.IsNullOrWhiteSpace(this._mes) || string.IsNullOrWhiteSpace(this._anio)) { Globales.MessageBoxMit("Deslice la tarjeta bancaria."); CmdEnviar.IsEnabled = true; } else if (string.IsNullOrWhiteSpace(NumOrden.Text)) { Globales.MessageBoxMit("Introduzca " + TypeUsuario.reference + "."); NumOrden.Focus(); CmdEnviar.IsEnabled = true; } else if (string.IsNullOrWhiteSpace(NumCuarto.Text)) { Globales.MessageBoxMit("Introduzca el Dato Adicional. "); NumCuarto.Focus(); CmdEnviar.IsEnabled = true; } else if (string.IsNullOrWhiteSpace(Importe.Text)) { Globales.MessageBoxMit("Introduzca el importe."); Importe.Focus(); CmdEnviar.IsEnabled = true; } else if ((Utils.Mid(Globales.GetDataXml("facileasing", TypeUsuario.CadenaXML), 1, 1) == "1") && (Globales.GetDataXml("tarjeta", Globales.cpHTTP_sResult) != NumTdc.Text)) { Globales.MessageBoxMit("La Tarjeta Deslizada no corresponde con el Servicio a cobrar"); CmdEnviar.IsEnabled = true; } else if (TypeUsuario.Id_Company == "0059") { if (NumOrden.Text.Length != 28) { Globales.MessageBoxMit("El no. de REFERENCIA debe ser de 28 posiciones"); NumOrden.Focus(); CmdEnviar.IsEnabled = true; return; } } if (!Globales.IsNumeric(Importe.Text)) { Globales.MessageBoxMit("El importe debe ser numérico."); Importe.Focus(); CmdEnviar.IsEnabled = true; return; } if (string.IsNullOrWhiteSpace(Globales.merchantBanda)) { Globales.MessageBoxMit("No hay planes de pago para esta tarjeta, por favor cambie la tarjeta."); CmdLeer.Visibility = Visibility.Visible; CmdLeer.IsEnabled = true; CmdEnviar.IsEnabled = false; CmdEnviar.Visibility = Visibility.Hidden; CmdNuevo.Visibility = Visibility.Hidden; CmdNuevo.IsEnabled = false; Importe.IsEnabled = true; NumOrden.IsEnabled = true; NumCuarto.IsEnabled = true; NumOrden.IsEnabled = true; Importe.IsEnabled = true; StatusCmd = true; NumTdc.Text = ""; this.TFECHA.Text = string.Empty; NomTdc.Text = ""; Globales.cpIntegraEMV.dbgCancelOperation(); return; } string strTypeC = string.Empty; string strCadEncriptar = string.Empty; Voucher = string.Empty; if (Globales.isAmex) { strTypeC = "AMEX"; } else { strTypeC = "V/MC"; } Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait; Globales.cpIntegraEMV.dbgSetCurrencyType(lblMoneda.Content.ToString()); Globales.cpIntegraEMV.sndCheckInEMV(TypeUsuario.usu, TypeUsuario.Pass, "", TypeUsuario.Id_Company, TypeUsuario.Id_Branch, TypeUsuario.country, strTypeC, Globales.merchantBanda, NumOrden.Text, "9", lblMoneda.Content.ToString(), NumCuarto.Text, Globales.csvAmexenBanda); Globales.csvAmexenBanda = ""; string mensaje = string.Empty; string caso = Globales.cpIntegraEMV.getRspDsResponse(); Mouse.OverrideCursor = null; switch (caso) { case "approved": //'Transacción Aprobada NumOrden.IsEnabled = false; Importe.IsEnabled = false; NumCuarto.IsEnabled = false; mensaje = Globales.cpIntegraEMV.getRspAuth(); if (TypeUsuario.Id_Company == Globales.EMPREF && TypeUsuario.Id_Branch == Globales.EMPREF2) { frmReferencia refe = new frmReferencia(); refe.ShowDialog(); if (!refe.cancelar) { Globales.cpIntegraEMV.sndReimpresion(TypeUsuario.usu, TypeUsuario.Pass, TypeUsuario.Id_Company, TypeUsuario.Id_Branch, TypeUsuario.country, Globales.cpIntegraEMV.getRspOperationNumber()); Mouse.OverrideCursor = null; } } Globales.MessageBoxMitApproved(mensaje); TypeUsuario.strVoucherCoP = Globales.cpIntegraEMV.getRspVoucher().Trim(); CmdNuevo.Visibility = Visibility.Visible; CmdEnviar.Visibility = Visibility.Hidden; this.BENVIAMAIL.Visibility = TypeUsuario.enviaCorreo ? Visibility.Visible : Visibility.Hidden; this.BENVIAMAIL.Tag = this.NomTdc.Text; //'************************************************************************************************ // ''********************************** FIRMA EN PANEL ********************************************* // 'VALIDACIONES PARA LA FIRMA EN PANEL string textoAgua = string.Empty; textoAgua = "Folio: " + Globales.cpIntegraEMV.getRspOperationNumber() + System.Environment.NewLine; textoAgua += "Auth: " + Globales.cpIntegraEMV.getRspAuth() + System.Environment.NewLine; textoAgua += "Importe: " + Globales.cpIntegraEMV.getTx_Amount() + System.Environment.NewLine; textoAgua += "Fecha: " + Globales.cpIntegraEMV.getRspDate() + System.Environment.NewLine; textoAgua += "Merchant: " + Globales.cpIntegraEMV.getRspDsMerchant() + System.Environment.NewLine; textoAgua += " " + System.Environment.NewLine; textoAgua += "___________________" + System.Environment.NewLine; textoAgua += "FIRMA DIGITALIZADA:" + System.Environment.NewLine; //'************************************************************************************************ //'valida si la tarjeta es Chip and Pin bool IsChipAndPin = false; bool esQPS = false; string cadenaHexFirma = string.Empty; int tipoVta = 1; //'valida si es chip and pin if (Globales.cpIntegraEMV.chkCc_IsPin() == "01") { IsChipAndPin = true; } //'************************************************************************************************ //'valida si la venta es QPS if (Globales.cpIntegraEMV.getRspVoucher().Contains("@cnn Autorizado sin Firma ") && tipoVta == 1 && !IsChipAndPin) { esQPS = true; } //'************************************************************************************************ // 'Si la PinPad no soporta Firma en Panel y no es touch, sigue el flujo normal de PcPay if (!Globales.cpIntegraEMV.EsTouch() && !Globales.cpIntegraEMV.getRspSoportaFirmaPanel()) { goto GoImpresion; } //'************************************************************************************************ //'Si la PinPad Soporta Firma en Panel y no es touch, if (!Globales.cpIntegraEMV.EsTouch() && Globales.cpIntegraEMV.getRspSoportaFirmaPanel()) { //'Llama a la función de obtener la firma en Panel cadenaHexFirma = Globales.cpIntegraEMV.sndObtieneFirmaPanel(false, textoAgua, Globales.cpIntegraEMV.getRspVoucher(), IsChipAndPin, Globales.cpIntegraEMV.chkPp_Trademark(), (short)tipoVta, esQPS); if (!cadenaHexFirma.Contains("Error")) { // 'Llama a la funcion de Guardar la firma Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait; if (Globales.cpIntegraEMV.sndGuardaFirmaPanel(cadenaHexFirma, Program.ipFirmaPanel, Globales.cpIntegraEMV.getRspOperationNumber(), Globales.cpIntegraEMV.chkPp_Serial())) { imgEmailFirmaPanel.Visibility = Visibility.Visible; } Mouse.OverrideCursor = null; } else { Globales.MessageBoxMit("No se pudo obtener la imagen del PinPad" + "\n" + cadenaHexFirma); } goto GoImpresion; } //'************************************************************************************************ //'SI EL DISPOSITIVO TIENE CAPACIDAD TOUCH if (Globales.cpIntegraEMV.EsTouch()) { if (TypeUsuario.UtilizarCapacidadTouch && TypeUsuario.EnviarVoucherMail) { Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait; if (!Globales.ObtieneFirmaPanel(Program.ipFirmaPanel, textoAgua, (short)tipoVta, IsChipAndPin, esQPS)) { goto GoImpresion; } else { goto finaliza; } Mouse.OverrideCursor = null; } if (TypeUsuario.UtilizarCapacidadTouch && !TypeUsuario.EnviarVoucherMail) { // 'Llama a la función de obtener la firma en Panel cadenaHexFirma = Globales.cpIntegraEMV.sndObtieneFirmaPanel(true, textoAgua, Globales.cpIntegraEMV.getRspVoucher(), IsChipAndPin, Globales.cpIntegraEMV.chkPp_Trademark(), (short)tipoVta, esQPS); if (!cadenaHexFirma.Contains("Error")) { // 'Llama a la funcion de Guardar la firma if (Globales.cpIntegraEMV.sndGuardaFirmaPanel(cadenaHexFirma, Program.ipFirmaPanel, Globales.cpIntegraEMV.getRspOperationNumber(), Globales.cpIntegraEMV.chkPp_Serial())) { imgEmailFirmaPanel.Visibility = Visibility.Visible; } } else { Globales.MessageBoxMit("No se pudo obtener la imagen del PinPad" + "\n" + cadenaHexFirma); } goto GoImpresion; } if (!TypeUsuario.UtilizarCapacidadTouch && !TypeUsuario.EnviarVoucherMail) { if (Globales.cpIntegraEMV.getRspSoportaFirmaPanel()) { //'Llama a la función de obtener la firma en Panel cadenaHexFirma = Globales.cpIntegraEMV.sndObtieneFirmaPanel(false, textoAgua, Globales.cpIntegraEMV.getRspVoucher(), IsChipAndPin, Globales.cpIntegraEMV.chkPp_Trademark(), (short)tipoVta, esQPS); if (!cadenaHexFirma.Contains("Error")) { //'Llama a la funcion de Guardar la firma if (Globales.cpIntegraEMV.sndGuardaFirmaPanel(cadenaHexFirma, Program.ipFirmaPanel, Globales.cpIntegraEMV.getRspOperationNumber(), Globales.cpIntegraEMV.chkPp_Serial())) { imgEmailFirmaPanel.Visibility = Visibility.Visible; } } else { Globales.MessageBoxMit("No se pudo obtener la imagen del PinPad" + "\n" + cadenaHexFirma); } } goto GoImpresion; } } if (imgEmailFirmaPanel.Visibility == Visibility.Hidden) { BENVIAMAIL.Visibility = (TypeUsuario.enviaCorreo) ? Visibility.Visible : Visibility.Hidden; } GoImpresion: Voucher = Globales.cpIntegraEMV.getRspVoucher(); CmdVoucher.IsEnabled = true; Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait; Globales.PrintOptions(Voucher, Globales.cpIntegraEMV.getRspOperationNumber()); //, Impresora Mouse.OverrideCursor = null; finaliza: break; case "denied": if (Utils.Mid(Globales.GetDataXml("facileasing", TypeUsuario.CadenaXML), 1, 1) == "1") { Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait; Globales.cpHTTP_Clear(); Globales.cpHTTP_sURL_cpCUCT = TypeUsuario.Url; strCadEncriptar = "&op=facileasingcobrorechazada" + "&nueconomico=" + strNoEconomico + "&nuservicio=" + strNoServicio + "&nuproveedor=" + strProveedor + "&transaccion=" + Globales.cpIntegraEMV.getRspOperationNumber() + "&importe=" + Importe + "&numtdc=" + Utils.Mid(NumTdc.Text, 13, 4) + "&auth=" + "" + "&response=" + Globales.cpIntegraEMV.getRspCdResponse(); Globales.cpHTTP_cadena1 = "enc=" + Globales.encryptString(strCadEncriptar, Globales.KEY_RC4, true); if (Globales.cpHTTP_SendcpCUCT()) { } Mouse.OverrideCursor = null; } Globales.cpHTTP_cadena1 = "enc=" + Globales.encryptString(strCadEncriptar, Globales.KEY_RC4, true); mensaje = Globales.msjRech + "\n" + Globales.cpIntegraEMV.getRspCdResponse() + " " + Globales.cpIntegraEMV.getRspFriendlyResponse(); Globales.MessageBoxMitDenied(mensaje); CmdNuevo.Visibility = Visibility.Visible; CmdEnviar.Visibility = Visibility.Hidden; break; case "error": CmdLeer.Visibility = Visibility.Hidden; CmdLeer.IsEnabled = false; CmdEnviar.IsEnabled = false; CmdEnviar.Visibility = Visibility.Hidden; mensaje = Globales.cpIntegraEMV.getRspDsError(); Globales.MessageBoxMitError(mensaje); CmdNuevo.Visibility = Visibility.Visible; break; default: if (Globales.EMVLector == "1" && (TypeUsuario.strTipoLector == "3" || TypeUsuario.strTipoLector == "4")) { CmdEnviar.IsEnabled = false; CmdLeer.Visibility = Visibility.Visible; CmdLeer.IsEnabled = true; } else { CmdEnviar.Visibility = Visibility.Visible; } mensaje = "Error de conexión, verifique su reporte."; Globales.MessageBoxMitError(mensaje); CmdNuevo.Visibility = Visibility.Hidden; break; } Mouse.OverrideCursor = null; }