Exemplo n.º 1
0
        private void NewTicketVolais(string oldTicket)
        {
            string num       = oldTicket.Substring(2, 1);
            string num2      = (Convert.ToInt32(num) + 1).ToString();
            string newTicket = oldTicket.Substring(0, 2) + num2.Substring(0, 1) + oldTicket.Substring(3, 7);

            boleto = LogTicketsBL.LogTicketsVolaris(newTicket);
            if (!string.IsNullOrEmpty(boleto.TicketNumber))
            {
                NewTicketVolais(boleto.TicketNumber);
            }
            else
            {
                boleto.TicketNumber = newTicket;
            }
        }
Exemplo n.º 2
0
        private string[] GetSabreCommandVolaris(List <VolarisFlight> flights)
        {
            int infante = 1;

            if (VolarisSession.PagoVolaris.MetodoDePago == "MC")
            {
                VolarisSession.PagoVolaris.MetodoDePago = "CA";
            }
            VolarisSession.ContAdult          = VolarisSession.contAdult;
            VolarisSession.BaseTotalPayAdult  = 0;
            VolarisSession.IVATotalPayAdult   = 0;
            VolarisSession.TUATotalPayAdult   = 0;
            VolarisSession.OtrosTotalPayAdult = 0;

            VolarisSession.BaseTotalPayAdult  = (VolarisSession.baseTotalPayAdult * VolarisSession.contAdult);
            VolarisSession.IVATotalPayAdult   = (VolarisSession.ivaTotalPayAdult * VolarisSession.contAdult);
            VolarisSession.TUATotalPayAdult   = (VolarisSession.tuaTotalPayAdult * VolarisSession.contAdult);
            VolarisSession.OtrosTotalPayAdult = (VolarisSession.otrosTotalPayAdult * VolarisSession.contAdult);
            VolarisSession.AdditionalAdult    = VolarisSession.additionalAdult;
            //quitar
            string comando = string.Empty;

            var commands = new List <string>();

            for (int i = 0; i < flights.Count; i++)
            {
                string        currentFlightID = "0" + 1;
                VolarisFlight theFlight       = flights.FirstOrDefault();

                if (VolarisSession.ContAdult > 0)
                {
                    var adultCountingLine = new
                    {
                        TotalBasePriceSum = ((VolarisSession.BaseTotalPayAdult - VolarisSession.DiscountTotalPayAdult) / VolarisSession.ContAdult),
                        TotalIVASuma      = (VolarisSession.IVATotalPayAdult / VolarisSession.ContAdult),
                        TotalTuaSum       = (VolarisSession.TUATotalPayAdult / VolarisSession.ContAdult),
                        TotalExtraSum     = (VolarisSession.OtrosTotalPayAdult / VolarisSession.ContAdult)
                    };
                    foreach (InterJetPassanger pax in VolarisSession.InterJetPassangers)
                    {
                        if (pax.IsAdult)
                        {
                            //boleto = LogTicketsBL.LogTicketsVolaris("7916309061"); //solo para pruebas
                            boleto = LogTicketsBL.LogTicketsVolaris(pax.UniqueID + currentFlightID[1]);
                            if (!string.IsNullOrEmpty(boleto.TicketNumber))
                            {
                                NewTicketVolais(boleto.TicketNumber);
                            }
                            else
                            {
                                boleto.TicketNumber = pax.UniqueID + currentFlightID[1];
                            }

                            LogTicketsBL.LogTicketsVolarisInsert(boleto.TicketNumber, DateTime.Now, VolarisSession.PNR, string.Empty);

                            string command = string.Format("AC/Y4/{0}/P01/{1}/{2}/D{3}/D{7}/ONE/{4} {5}/1/{6}",
                                                           boleto.TicketNumber,
                                                           decimal.Truncate(adultCountingLine.TotalBasePriceSum),
                                                           decimal.Truncate(adultCountingLine.TotalTuaSum),
                                                           decimal.Truncate(adultCountingLine.TotalIVASuma),
                                                           "CC" + VolarisSession.PagoVolaris.MetodoDePago + VolarisSession.PagoVolaris.NumeroTarjeta,
                                                           pax.AccountLineParameter,
                                                           VolarisSession.IsInternational ? "F" : "D",
                                                           decimal.Truncate(
                                                               adultCountingLine.TotalExtraSum));
                            string commandt = command.Trim();
                            commands.Add("" + commandt + "");
                            //quitar la linea
                            comando = comando + commandt;

                            decimal C11 = adultCountingLine.TotalBasePriceSum + adultCountingLine.TotalIVASuma + adultCountingLine.TotalTuaSum + adultCountingLine.TotalExtraSum;
                            amountC11[cont] = amountC11[cont] + C11;
                            amountC16[cont] = amountC16[cont] + adultCountingLine.TotalBasePriceSum;
                            cont++;
                            foreach (AdditionalAccountingLine add in VolarisSession.AdditionalAdult)
                            {
                                if (add.Description == "11" && add.Amount > 0)
                                {
                                    string command11Percent = string.Format("AC/Y4/{0}/P0/{1}/{2}/D{3}/D{7}/ONE/{4} {5}/1/{6}/E-V-Y4/P-SAL",
                                                                            string.Format("{0}{1}", "88", boleto.TicketNumber.Substring(2, 8)),
                                                                            decimal.Truncate((add.Amount * 100)),
                                                                            decimal.Truncate(0),
                                                                            decimal.Truncate((add.Iva * 100)),
                                                                            "CC" + VolarisSession.PagoVolaris.MetodoDePago + VolarisSession.PagoVolaris.NumeroTarjeta,
                                                                            pax.AccountLineParameter,
                                                                            VolarisSession.IsInternational ? "F" : "D",
                                                                            decimal.Truncate(0));
                                    commands.Add(command11Percent);
                                    comando = comando + "  " + command11Percent;
                                }
                                if (add.Description == "16" && add.Amount > 0)
                                {
                                    string command16Percent = string.Format("AC/Y4/{0}/P0/{1}/{2}/D{3}/D{7}/ONE/{4} {5}/1/{6}/E-V-Y4/P-SAL",
                                                                            string.Format("{0}{1}", "99", boleto.TicketNumber.Substring(2, 8)),
                                                                            decimal.Truncate((add.Amount * 100)),
                                                                            decimal.Truncate(0),
                                                                            decimal.Truncate((add.Iva * 100)),
                                                                            "CC" + VolarisSession.PagoVolaris.MetodoDePago + VolarisSession.PagoVolaris.NumeroTarjeta,
                                                                            pax.AccountLineParameter,
                                                                            VolarisSession.IsInternational ? "F" : "D",
                                                                            decimal.Truncate(0));
                                    commands.Add(command16Percent);
                                    comando = comando + "  " + command16Percent;
                                }

                                if (VolarisSession.ContInfant > 0 && infante <= VolarisSession.ContInfant)
                                {
                                    string command11Percent = string.Format("AC/Y4/{0}/P0/{1}/{2}/D{3}/D{7}/ONE/{4} {5}/1/{6}/E-V-Y4/P-SAL",
                                                                            string.Format("{0}{1}", "88", boleto.TicketNumber.Substring(2, 8)),
                                                                            decimal.Truncate(((VolarisSession.Extra / VolarisSession.ContInfant) * 100)),
                                                                            decimal.Truncate(0),
                                                                            decimal.Truncate((0)),
                                                                            "CC" + VolarisSession.PagoVolaris.MetodoDePago + VolarisSession.PagoVolaris.NumeroTarjeta,
                                                                            pax.AccountLineParameter,
                                                                            VolarisSession.IsInternational ? "F" : "D",
                                                                            decimal.Truncate(0));
                                    commands.Add(command11Percent);
                                    comando = comando + "  " + command11Percent;
                                    infante++;
                                }
                            }
                        }
                    }
                }

                if (VolarisSession.ContChild > 0)
                {
                    VolarisSession.ContChild          = VolarisSession.contChild;
                    VolarisSession.BaseTotalPayChild  = 0;
                    VolarisSession.IVATotalPayChild   = 0;
                    VolarisSession.TUATotalPayChild   = 0;
                    VolarisSession.OtrosTotalPayChild = 0;

                    VolarisSession.BaseTotalPayChild  = (VolarisSession.baseTotalPayChild * VolarisSession.ContChild);
                    VolarisSession.IVATotalPayChild   = (VolarisSession.ivaTotalPayChild * VolarisSession.ContChild);
                    VolarisSession.TUATotalPayChild   = (VolarisSession.tuaTotalPayChild * VolarisSession.ContChild);
                    VolarisSession.OtrosTotalPayChild = (VolarisSession.otrosTotalPayChild * VolarisSession.ContChild);
                    VolarisSession.AdditionalChild    = VolarisSession.additionalChild;


                    var childCountingLine = new
                    {
                        TotalBasePriceSum = ((VolarisSession.BaseTotalPayChild - VolarisSession.DiscountTotalPayChild) / VolarisSession.ContChild),
                        TotalIVASuma      = (VolarisSession.IVATotalPayChild / VolarisSession.ContChild),
                        TotalTuaSum       = (VolarisSession.TUATotalPayChild / VolarisSession.ContChild),
                        TotalExtraSum     = (VolarisSession.OtrosTotalPayChild / VolarisSession.ContChild)
                    };

                    foreach (InterJetPassanger pax in VolarisSession.InterJetPassangers)
                    {
                        if (pax.IsChild)
                        {
                            boleto = LogTicketsBL.LogTicketsVolaris(pax.UniqueID + currentFlightID[1]);
                            if (!string.IsNullOrEmpty(boleto.TicketNumber))
                            {
                                NewTicketVolais(boleto.TicketNumber);
                            }
                            else
                            {
                                boleto.TicketNumber = pax.UniqueID + currentFlightID[1];
                            }

                            LogTicketsBL.LogTicketsVolarisInsert(boleto.TicketNumber, DateTime.Now, VolarisSession.PNR, string.Empty);

                            string command = string.Format(InterJetAddAccountingLineCommand.ACCOUNT_LINE_STRING_TEMPLATE_VOLARIS,
                                                           boleto.TicketNumber,
                                                           decimal.Truncate(childCountingLine.TotalBasePriceSum),
                                                           decimal.Truncate(childCountingLine.TotalTuaSum),
                                                           decimal.Truncate(childCountingLine.TotalIVASuma),
                                                           "CC" + VolarisSession.PagoVolaris.MetodoDePago + VolarisSession.PagoVolaris.NumeroTarjeta,
                                                           pax.AccountLineParameter,
                                                           VolarisSession.IsInternational ? "F" : "D",
                                                           decimal.Truncate(childCountingLine.TotalExtraSum));
                            commands.Add(command);
                            decimal C11 = childCountingLine.TotalBasePriceSum + childCountingLine.TotalIVASuma + childCountingLine.TotalTuaSum + childCountingLine.TotalExtraSum;
                            amountC11[cont] = amountC11[cont] + C11;
                            amountC16[cont] = amountC16[cont] + childCountingLine.TotalBasePriceSum;
                            cont++;
                            //quitar la linea
                            comando = comando + "  " + command;

                            foreach (AdditionalAccountingLine add in VolarisSession.AdditionalChild)
                            {
                                if (add.Description == "11" && add.Amount > 0)
                                {
                                    string command11Percent = string.Format("AC/Y4/{0}/P0/{1}/{2}/D{3}/D{7}/ONE/{4} {5}/1/{6}/E-V-Y4/P-SAL",
                                                                            string.Format("{0}{1}", "88", boleto.TicketNumber.Substring(2, 8)),
                                                                            decimal.Truncate((add.Amount * 100)),
                                                                            decimal.Truncate(0),
                                                                            decimal.Truncate((add.Iva * 100)),
                                                                            "CC" + VolarisSession.PagoVolaris.MetodoDePago + VolarisSession.PagoVolaris.NumeroTarjeta,
                                                                            pax.AccountLineParameter,
                                                                            VolarisSession.IsInternational ? "F" : "D",
                                                                            decimal.Truncate(0));
                                    commands.Add(command11Percent);
                                    comando = comando + "  " + command11Percent;
                                }
                                if (add.Description == "16" && add.Amount > 0)
                                {
                                    string command16Percent = string.Format("AC/Y4/{0}/P0/{1}/{2}/D{3}/D{7}/ONE/{4} {5}/1/{6}/E-V-Y4/P-SAL",
                                                                            string.Format("{0}{1}", "99", boleto.TicketNumber.Substring(2, 8)),
                                                                            decimal.Truncate((add.Amount * 100)),
                                                                            decimal.Truncate(0),
                                                                            decimal.Truncate((add.Iva * 100)),
                                                                            "CC" + VolarisSession.PagoVolaris.MetodoDePago + VolarisSession.PagoVolaris.NumeroTarjeta,
                                                                            pax.AccountLineParameter,
                                                                            VolarisSession.IsInternational ? "F" : "D",
                                                                            decimal.Truncate(0));
                                    commands.Add(command16Percent);
                                    comando = comando + "  " + command16Percent;
                                }
                            }
                        }
                    }
                }
            }
            //quitar
            ImpuestosBajoCosto.LineaContable = comando;
            ImpuestosBajoCostoBL.UpdateImpuestosBajoCosto(ImpuestosBajoCosto.Id, ImpuestosBajoCosto.ImpuestosObtenidos, VolarisSession.PNR, ImpuestosBajoCosto.ImpuestosMostrados, ImpuestosBajoCosto.LineaContable, string.Empty);
            return(commands.ToArray());
        }