/// <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();
        }
Пример #2
0
        //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);
                }
            }
        }