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; } }
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()); }