/// <summary> /// Agrega un regitro en base de datos con la información de la emisión y el código de autorización /// </summary> private void SetCSCLog() { if ((ucTicketsEmissionInstructions.wayPayment.Equals(Resources.TicketEmission.Constants.PAYMENT_AMERICANEXPRESS) || ucTicketsEmissionInstructions.wayPayment.Equals(Resources.TicketEmission.Constants.PAYMENT_MIXPAYMENT)) && (ucFormPayment.CardType.Equals("VI") || ucFormPayment.CardType.Equals("CA"))) { string tickets = string.Empty; if (listNewTickets.Count > 0) { for (int i = 0; i < listNewTickets.Count; i++) { tickets = string.Concat(tickets, listNewTickets[i], ","); } tickets = tickets.Remove(tickets.Length - 1); UpdateAuthCodeBL.UpdateAuthCode(ucFirstValidations.LocatorRecord, ucTicketEmissionConfirmation.AuthCode, tickets); } else if (string.IsNullOrEmpty(ucTicketsEmissionInstructions.CodeAuth.PNR)) { SetAuthCodeBL.SetAuthCode(ucFirstValidations.LocatorRecord, ucTicketEmissionConfirmation.AuthCode, ucFormPayment.CardType, ucFormPayment.Amount, ucFormPayment.Bank, null, DateTime.Now, ucFormPayment.SendCommandWP); } } ucFormPayment.ReturnForMisc = false; ucTicketEmissionConfirmation.AuthCode = string.Empty; ucFormPayment.Bank = string.Empty; ucFormPayment.Amount = string.Empty; //listNewTickets.Clear(); }
//Evento click del Boton btnTicketEmission private void btnTicketEmission_Click(object sender, EventArgs e) { bool validAuthCode = true; string sabreAnswer = string.Empty; bool UsuarioValidoParaCargosPorServicio = false; // Validamos usuario para generar remark en el caso de las versiones anteriores UsuarioValidoParaCargosPorServicio = UsuarioValidoCargosPorServicio(); if (!UsuarioValidoParaCargosPorServicio) { for (int i = 0; i < ucServicesFeePayApply.lstDatosTarjeta.Count; i++) { if (ucServicesFeePayApply.lstDatosTarjeta[i].MontoCargo != 0) { string sError = string.Empty; ChargesPerService.BuilCommandToSendOld(ucServicesFeePayApply.lstDatosTarjeta[i].PaxNumber, ucServicesFeePayApply.lstDatosTarjeta[i]); } } } if (string.IsNullOrEmpty(ucTicketsEmissionInstructions.CodeAuth.Code)) { if (!string.IsNullOrEmpty(ucFormPayment.CommandGetAuthorizationCode)) { if (!string.IsNullOrEmpty(ucPromo.PromoCode)) { ucFormPayment.CommandGetAuthorizationCode = string.Concat(ucFormPayment.CommandGetAuthorizationCode, "*", ucPromo.PromoCode, "/*C", ucFormPayment.SecurityCode); } else { ucFormPayment.CommandGetAuthorizationCode = string.Concat(ucFormPayment.CommandGetAuthorizationCode, "/*C", ucFormPayment.SecurityCode); } using (CommandsAPI2 objCommand = new CommandsAPI2()) { sabreAnswer = objCommand.SendReceive(ucFormPayment.CommandGetAuthorizationCode, 0, 0, 4000); } ucPromo.PromoCode = string.Empty; if (sabreAnswer.Contains(Resources.TicketEmission.Constants.OK)) { string[] sabreArray = sabreAnswer.Replace("\n", "-").Split('-'); for (int i = 0; i < sabreArray.Length; i++) { int row = 0; int col = 0; CommandsQik.searchResponse(sabreArray[i], Resources.TicketEmission.Constants.OK, ref row, ref col, 1, 2); if (row != 0 || col != 0) { CommandsQik.CopyResponse(sabreArray[i], ref authCode, 1, 4, 6); } } if (!string.IsNullOrEmpty(authCode)) { if (ucTicketsEmissionInstructions.wayPayment == Resources.TicketEmission.Constants.PAYMENT_MIXPAYMENT) { ucFormPayment.FormPayment = string.Concat(ucFormPayment.FormPayment, Resources.TicketEmission.Constants.COMMANDS_AST_Z, authCode, Resources.TicketEmission.Constants.SLASH, ucFormPayment.Amount); } else { ucFormPayment.FormPayment = string.Concat(ucFormPayment.FormPayment, Resources.TicketEmission.Constants.COMMANDS_AST_Z, authCode); } } } else if (sabreAnswer.Contains(Resources.TicketEmission.Constants.INVALID)) { MessageBox.Show("TARJETA RECHAZADA \n" + sabreAnswer, Resources.Constants.MYCTS, MessageBoxButtons.OK, MessageBoxIcon.Information); validAuthCode = false; } else if (sabreAnswer.Contains(Resources.TicketEmission.Constants.DECLINED)) { MessageBox.Show("TARJETA RECHAZADA \n" + sabreAnswer, Resources.Constants.MYCTS, MessageBoxButtons.OK, MessageBoxIcon.Information); validAuthCode = false; } else if (sabreAnswer.Contains(Resources.TicketEmission.Constants.INCORRECT_CARD)) { MessageBox.Show("TARJETA RECHAZADA \n" + sabreAnswer, Resources.Constants.MYCTS, MessageBoxButtons.OK, MessageBoxIcon.Information); validAuthCode = false; } else if (sabreAnswer.Contains(Resources.TicketEmission.Constants.PROCESSING_ERROR)) { MessageBox.Show("TARJETA RECHAZADA \n" + sabreAnswer, Resources.Constants.MYCTS, MessageBoxButtons.OK, MessageBoxIcon.Information); validAuthCode = false; } else if (sabreAnswer.Contains(Resources.TicketEmission.Constants.REFERRAL)) { MessageBox.Show("TARJETA RECHAZADA \n" + sabreAnswer, Resources.Constants.MYCTS, MessageBoxButtons.OK, MessageBoxIcon.Information); validAuthCode = false; } //Continua con el flujo de boleto, va al paso 8 if (!validAuthCode) { SetAuthCodeBL.SetErrorCK(ucFirstValidations.LocatorRecord, ucFormPayment.CardType, ucFormPayment.Amount, ucFormPayment.Bank, sabreAnswer, DateTime.Now, ucFormPayment.CommandGetAuthorizationCode); ucFormPayment.CommandGetAuthorizationCode = string.Empty; Loader.AddToPanel(Loader.Zone.Middle, this, Resources.TicketEmission.Constants.UCTICKETSEMISSIONINSTRUCTIONS); } else if (validatebusinessrules) { Loader.AddToPanel(Loader.Zone.Middle, this, Resources.TicketEmission.Constants.UC_ARMED_COMMANDS); } } else { if (validatebusinessrules) { // Aqui se actualizan los boletos en la tabla de log services fee Loader.AddToPanel(Loader.Zone.Middle, this, Resources.TicketEmission.Constants.UC_ARMED_COMMANDS); } } } else { if (validatebusinessrules) { AuthCode = ucTicketsEmissionInstructions.CodeAuth.Code; if (ucTicketsEmissionInstructions.wayPayment == Resources.TicketEmission.Constants.PAYMENT_MIXPAYMENT) { ucFormPayment.FormPayment = string.Concat(ucFormPayment.FormPayment, Resources.TicketEmission.Constants.COMMANDS_AST_Z, authCode, Resources.TicketEmission.Constants.SLASH, ucFormPayment.Amount); } else { ucFormPayment.FormPayment = string.Concat(ucFormPayment.FormPayment, Resources.TicketEmission.Constants.COMMANDS_AST_Z, authCode); } Loader.AddToPanel(Loader.Zone.Middle, this, Resources.TicketEmission.Constants.UC_ARMED_COMMANDS); } else { Loader.AddToPanel(Loader.Zone.Middle, this, Resources.TicketEmission.Constants.UCTICKETSEMISSIONINSTRUCTIONS); } } }