private void HideAndShowCaptureControls(int iCurrentPaxNumberMenosUno, ListItem item) { txtNumberCardCTS.PasswordChar = new char(); switch (item.Value) { case "CASH": txtNumberCardCTS.Text = string.Empty; txtNumberCardCTS.Visible = false; lblCardNumberCTS.Visible = false; txtDigitoSeguridad.Visible = false; cmbMesVencimiento.Visible = false; cmbAnioVencimiento.Visible = false; txtNombreTarjetahabiente.Visible = false; lblDigitoSeguridad.Visible = false; lblMesVencimiento.Visible = false; lblAnioVencimiento.Visible = false; lblNombreTarjetahabiente.Visible = false; break; case "CH": case "TR": case "TP": switch (item.Value) { case "TP": lblCardNumberCTS.Text = "Número de tarjeta"; txtNumberCardCTS.MaxLength = 16; txtNumberCardCTS.PasswordChar = '·'; txtNumberCardCTS.Font = new Font("Symbol", 9F, FontStyle.Regular); break; default: lblCardNumberCTS.Text = "Número de cuenta"; txtNumberCardCTS.MaxLength = 4; txtNumberCardCTS.PasswordChar = '·'; txtNumberCardCTS.Font = new Font("Symbol", 9F, FontStyle.Regular); break; } lblCardNumberCTS.Visible = true; if (item.Value != "TP") { if (string.IsNullOrEmpty(ChargesPerService.DKActual)) { ChargesPerService.RecuperarDK(); } WsMyCTS wsServ = new WsMyCTS(); MyCTS.Services.ValidateDKsAndCreditCards.GetTranferCheckNumber data = new MyCTS.Services.ValidateDKsAndCreditCards.GetTranferCheckNumber(); data = wsServ.GetTranferCheckNumberMyCTS(ChargesPerService.DKActual); txtNumberCardCTS.Text = data.ct_banc_cbr; } else { txtNumberCardCTS.Text = String.Empty; } txtNumberCardCTS.Visible = true; txtDigitoSeguridad.Visible = false; cmbMesVencimiento.Visible = false; cmbAnioVencimiento.Visible = false; txtNombreTarjetahabiente.Visible = false; lblDigitoSeguridad.Visible = false; lblMesVencimiento.Visible = false; lblAnioVencimiento.Visible = false; lblNombreTarjetahabiente.Visible = false; break; default: lblCardNumberCTS.Text = "Número de tarjeta"; txtNumberCardCTS.Visible = true; lblCardNumberCTS.Visible = true; txtNumberCardCTS.PasswordChar = '·'; txtNumberCardCTS.Font = new Font("Symbol", 9F, FontStyle.Regular); txtDigitoSeguridad.Visible = true; cmbMesVencimiento.Visible = true; cmbAnioVencimiento.Visible = true; txtNombreTarjetahabiente.Visible = true; lblDigitoSeguridad.Visible = true; lblMesVencimiento.Visible = true; lblAnioVencimiento.Visible = true; lblNombreTarjetahabiente.Visible = true; btnAccept.Text = "Aplicar cargo en línea"; switch (((ListItem)cmbTypeCard.SelectedItem).Value) { case "AX": txtNumberCardCTS.MaxLength = 16; txtDigitoSeguridad.MaxLength = 4; txtNumberCardCTS.PasswordChar = '·'; txtNumberCardCTS.Font = new Font("Symbol", 9F, FontStyle.Regular); break; default: txtNumberCardCTS.MaxLength = 16; txtDigitoSeguridad.MaxLength = 3; txtNumberCardCTS.PasswordChar = '·'; txtNumberCardCTS.Font = new Font("Symbol", 9F, FontStyle.Regular); break; } break; } }
private void ValidacionFormasDePago() { switch (cmbTypeCard.Text) { case "TR - TRANSFERENCIA": case "CASH - EFECTIVO": case "CH - CHEQUE": DeterminaValidacionGeneracionCargo(); break; case "TP - TC UATP": ///Validación para la FoP TP - TC UATP para que al validar las tarjetas, no valide ///todos los campos existentes en la plantilla aunque esten ocultos. Para cualquier ///otro caso se validan todos los campos en la plantilla. if (ValidateCreditCardNumber) { } break; default: if ((string.IsNullOrEmpty(cmbTypeCard.Text) || string.IsNullOrEmpty(txtDigitoSeguridad.Text) || string.IsNullOrEmpty(txtNombreTarjetahabiente.Text) || string.IsNullOrEmpty(cmbTypeCard.Text) || string.IsNullOrEmpty(cmbMesVencimiento.Text) || string.IsNullOrEmpty(cmbAnioVencimiento.Text) || string.IsNullOrEmpty(cmbTypeCard.Text))) { MessageBox.Show("¡Debes ingresar todos los campos!"); return; } //Se validan las fechas ingresadas por el usuario. No deben ser menor a los de la fecha actual int cmboFecYear = Convert.ToInt32(DateTime.Now.Year); int cmboFecMes = Convert.ToInt32(DateTime.Now.Month); int cmbFecYear = Convert.ToInt32(cmbAnioVencimiento.Text); if (cmbTypeCard.Text == "- Selecciona Forma de Pago -") { MessageBox.Show("¡Ingrese la Forma de Pago!", Resources.Constants.MYCTS, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } cmbFecMes = seleccionaMes(); if (cmbFecYear < cmboFecYear) { MessageBox.Show("¡Datos de vigencia de la tarjeta invalido, verifica el año!", Resources.Constants.MYCTS, MessageBoxButtons.OK, MessageBoxIcon.Information); cmbAnioVencimiento.Focus(); return; } if (cmbFecMes < cmboFecMes & cmboFecYear == cmbFecYear) { MessageBox.Show("¡Datos de vigencia de la tarjeta invalido, verifica el mes!", Resources.Constants.MYCTS, MessageBoxButtons.OK, MessageBoxIcon.Information); cmbMesVencimiento.Focus(); return; } if (string.IsNullOrEmpty(txtNumberCardCTS.Text)) { MessageBox.Show("Debes ingresar un número de tarjeta. Ingrese", Resources.Constants.MYCTS, MessageBoxButtons.OK, MessageBoxIcon.Information); txtNumberCardCTS.Text = string.Empty; txtNumberCardCTS.Focus(); return; } ChargesPerService.RecuperarDK(); WsMyCTS wsServ = new WsMyCTS(); MyCTS.Services.ValidateDKsAndCreditCards.ClientCreditCard clientCreditCard = wsServ.GetClientCreditCardNumber(txtNumberCardCTS.Text, ChargesPerService.DKActual); string creditCard = wsServ.GetCreditCardNumberCTS(txtNumberCardCTS.Text); if (!string.IsNullOrEmpty(creditCard)) { this.Focus(); MessageBox.Show("Debes ingresar un número de tarjeta diferente a una de CTS. Reingrese", Resources.Constants.MYCTS, MessageBoxButtons.OK, MessageBoxIcon.Information); txtNumberCardCTS.Text = string.Empty; txtNumberCardCTS.Focus(); return; } string clientCreditCardNumber = wsServ.GetClientCreditCardNumberATT(txtNumberCardCTS.Text); if (string.IsNullOrEmpty(clientCreditCardNumber)) { if (ValidateCreditCardNumber) { // No hace nada } } else { if (clientCreditCard.CreditCardNumber != txtNumberCardCTS.Text) { MessageBox.Show("El número de tarjeta ingresado pertenece a un cliente diferente, ingrese un número de tarjeta válido", Resources.Constants.MYCTS, MessageBoxButtons.OK, MessageBoxIcon.Information); txtNumberCardCTS.Text = string.Empty; txtNumberCardCTS.Focus(); return; } } if (txtNumberCardCTS.Text == clientCreditCard.CreditCardNumber & ChargesPerService.DKActual == clientCreditCard.Client) { DeterminaValidacionGeneracionCargo(); } break; } if (!VerificarCargoPrevio()) { Pagar(); } else { MessageBox.Show("Ya cuenta con un intento de cargo por servicio previo para hoteles, no es posible realizar un nuevo cargo por servicio para hoteles mediante la interfaz", Resources.Constants.MYCTS, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } }