public List <Facturacion> Generar(Semana oSemana) { List <Facturacion> lstFacturacion = new List <Facturacion>(); List <char> lstTipoConceptoPermitidos = new List <char>(); lstTipoConceptoPermitidos.Add('B'); //Billetes lstTipoConceptoPermitidos.Add('R'); //Reembolsos List <BSP_Ticket> lstTickets = oSemana.TicketsBSP.Where(x => lstTipoConceptoPermitidos.Contains(x.Concepto.Tipo)).OrderBy(x => x.Compania.Codigo).ThenBy(x => x.Billete).ToList(); foreach (BSP_Ticket oBSP_Ticket in lstTickets) { BO_Ticket bo_ticket = oSemana.TicketsBO.Find(x => x.Billete == oBSP_Ticket.Billete); Facturacion oFacturacion = new Facturacion(); oFacturacion.Cia = oBSP_Ticket.Compania.Codigo; oFacturacion.Rg = oBSP_Ticket.Rg == BSP_Rg.Doméstico ? "C" : "I"; oFacturacion.Tipo = (oBSP_Ticket.Concepto.Tipo.Equals('R') ? "R" : (oBSP_Ticket.Tipo.Contains('F') && !oBSP_Ticket.Detalle.Any(x => x.Observaciones.Trim() == "CNJ") ? "B" : "V")); oFacturacion.BoletoNro = !oBSP_Ticket.Concepto.Tipo.Equals('R') ? oBSP_Ticket.Billete.ToString() : oBSP_Ticket.Detalle.Find(x => x.Observaciones.Substring(0, 2) == "RF").Observaciones.Substring(5, 10); oFacturacion.Moneda = oBSP_Ticket.Moneda == Moneda.Peso ? "$" : "D"; oFacturacion.FechaEmision = AuditurHelpers.GetDateTimeString(oBSP_Ticket.FechaVenta); oFacturacion.Tarifa = oBSP_Ticket.TarContado + oBSP_Ticket.TarCredito; oFacturacion.QN = oBSP_Ticket.Detalle.Where(x => x.ISO == "QN").Sum(x => x.ImpContado + x.ImpCredito); oFacturacion.Impuestos = oBSP_Ticket.Detalle.Where(x => x.ISO != "QN").Sum(x => x.ImpContado + x.ImpCredito); oFacturacion.IVA10 = oBSP_Ticket.IVA105; oFacturacion.Gravado = Math.Round((oBSP_Ticket.IVA105 / 10.5M) * 100, 2); oFacturacion.Exento = Math.Round(oFacturacion.Tarifa + oFacturacion.QN + oFacturacion.Impuestos - oFacturacion.Gravado, 2); oFacturacion.ComNormal = oBSP_Ticket.ComValor; oFacturacion.ComOver = oBSP_Ticket.ComOver; oFacturacion.IVAComisiones = oBSP_Ticket.ComIVA; oFacturacion.TotalFinal = oBSP_Ticket.Total; oBSP_Ticket.Detalle.ForEach(x => oFacturacion.Observaciones += x.Observaciones + " "); oFacturacion.Observaciones = oFacturacion.Observaciones.Trim(); if (bo_ticket != null) { oFacturacion.Operacion = bo_ticket.Expediente; oFacturacion.Factura = bo_ticket.Factura; oFacturacion.Pasajero = bo_ticket.Pasajero; } lstFacturacion.Add(oFacturacion); } return(lstFacturacion); }
public List <SituacionBO> Generar(Semana oSemana) { List <SituacionBO> lstSituacionBO = new List <SituacionBO>(); List <BO_Ticket> lstTickets = oSemana.TicketsBO .Where(bo => (!oSemana.TicketsBSP.Any(bsp => bo.Billete == bsp.Billete && bo.Compania.Codigo == bsp.Compania.Codigo)) || (oSemana.TicketsBSP.Any(bsp => bo.Billete == bsp.Billete && bo.Compania.Codigo == bsp.Compania.Codigo && bo.Tarifa != bsp.TarContado + bsp.TarCredito && ((bo.TarContado != 0 && bsp.TarContado == 0) || (bo.TarCredito != 0 && bsp.TarCredito == 0)) ))).OrderBy(x => x.Compania.Codigo).ThenBy(x => x.Billete).ToList(); foreach (BO_Ticket oBO_Ticket in lstTickets) { SituacionBO oSituacionBO = new SituacionBO(); oSituacionBO.Tarifa = oBO_Ticket.Tarifa; oSituacionBO.Impuestos = oBO_Ticket.Impuestos; oSituacionBO.IVA = oBO_Ticket.IVA105; oSituacionBO.Over = oBO_Ticket.ComOver; oSituacionBO.Comision = oBO_Ticket.Comision; oSituacionBO.Importe = oBO_Ticket.Total; if (oSituacionBO.Tarifa != 0 || oSituacionBO.Impuestos != 0 || oSituacionBO.IVA != 0 || oSituacionBO.Over != 0 || oSituacionBO.Comision != 0 || oSituacionBO.Importe != 0) { oSituacionBO.BoletoNro = oBO_Ticket.Billete.ToString(); oSituacionBO.Tr = oBO_Ticket.Compania != null ? oBO_Ticket.Compania.Codigo : ""; oSituacionBO.Contado = oBO_Ticket.TarContado; oSituacionBO.Credito = oBO_Ticket.TarCredito; oSituacionBO.Moneda = oBO_Ticket.Moneda == Moneda.Peso ? "$" : "D"; oSituacionBO.Fecha = AuditurHelpers.GetDateTimeString(oBO_Ticket.Fecha); oSituacionBO.Observaciones = "No figura en su BSP"; oSituacionBO.Factura = oBO_Ticket.Factura; oSituacionBO.Pasajero = oBO_Ticket.Pasajero; oSituacionBO.Operacion = oBO_Ticket.Expediente; lstSituacionBO.Add(oSituacionBO); } } return(lstSituacionBO); }
public List <BSPNroOP> Generar(Semana oSemana) { List <BSPNroOP> lstBSPNroOP = new List <BSPNroOP>(); List <char> lstTipoConceptoPermitidos = new List <char>(); lstTipoConceptoPermitidos.Add('B'); //Billetes lstTipoConceptoPermitidos.Add('R'); //Reembolsos List <BSP_Ticket> lstTickets = oSemana.TicketsBSP.Where(x => lstTipoConceptoPermitidos.Contains(x.Concepto.Tipo)).OrderBy(x => x.Compania.Codigo).ThenBy(x => x.Billete).ToList(); foreach (BSP_Ticket oBSP_Ticket in lstTickets) { BO_Ticket bo_ticket = oSemana.TicketsBO.Find(x => x.Billete == oBSP_Ticket.Billete); BSPNroOP oBSPNroOP = new BSPNroOP(); oBSPNroOP.Cia = oBSP_Ticket.Compania.Codigo; oBSPNroOP.Rg = oBSP_Ticket.Rg == BSP_Rg.Doméstico ? "C" : "I"; oBSPNroOP.Tipo = (oBSP_Ticket.Concepto.Tipo.Equals('R') ? "R" : (oBSP_Ticket.Tipo.Contains('F') && !oBSP_Ticket.Detalle.Any(x => x.Observaciones.Trim() == "CNJ") ? "B" : "V")); oBSPNroOP.BoletoNro = !oBSP_Ticket.Concepto.Tipo.Equals('R') ? oBSP_Ticket.Billete.ToString() : oBSP_Ticket.Detalle.Find(x => x.Observaciones.Substring(0, 2) == "RF").Observaciones.Substring(5, 10); oBSPNroOP.Moneda = oBSP_Ticket.Moneda == Moneda.Peso ? "$" : "D"; oBSPNroOP.FechaEmision = AuditurHelpers.GetDateTimeString(oBSP_Ticket.FechaVenta); oBSPNroOP.Tarifa = oBSP_Ticket.TarContado + oBSP_Ticket.TarCredito; oBSPNroOP.Contado = oBSP_Ticket.TarContado; oBSPNroOP.Credito = oBSP_Ticket.TarCredito; oBSPNroOP.ImpContado = oBSP_Ticket.Detalle.Sum(x => x.ImpContado); oBSPNroOP.ImpCredito = oBSP_Ticket.Detalle.Sum(x => x.ImpCredito); oBSPNroOP.IVA10 = oBSP_Ticket.IVA105; oBSPNroOP.ComNormal = oBSP_Ticket.ComValor; oBSPNroOP.ComOver = oBSP_Ticket.ComOver; oBSPNroOP.IVAComisiones = oBSP_Ticket.ComIVA; oBSPNroOP.TotalFinal = oBSP_Ticket.Total; if (bo_ticket != null) { oBSPNroOP.Operacion = bo_ticket.Expediente; oBSPNroOP.Factura = bo_ticket.Factura; oBSPNroOP.Pasajero = bo_ticket.Pasajero; } lstBSPNroOP.Add(oBSPNroOP); } return(lstBSPNroOP); }
private Over GetOver(BSP_Ticket oBSP_Ticket, BO_Ticket oBO_Ticket) { Over oOver = new Over(); oOver.Boleto = oBSP_Ticket != null?oBSP_Ticket.Billete.ToString() : oBO_Ticket.Billete.ToString(); oOver.Fecha = AuditurHelpers.GetDateTimeString(oBSP_Ticket != null ? oBSP_Ticket.FechaVenta : oBO_Ticket.Fecha); oOver.Tr = oBSP_Ticket != null ? oBSP_Ticket.Compania.Codigo : oBO_Ticket.Compania.Codigo; oOver.Observaciones = ""; if (oBSP_Ticket != null) { if (oBSP_Ticket.Moneda == Moneda.Peso) { oOver.OverRecPesos = -oBSP_Ticket.ComOver; } else { oOver.OverRecDolares = -oBSP_Ticket.ComOver; } } if (oBO_Ticket != null) { if (oBO_Ticket.Moneda == Moneda.Peso) { oOver.OverPedPesos = oBO_Ticket.ComOver; } else if (oBO_Ticket.Moneda == Moneda.Dolar) { oOver.OverPedDolares = oBO_Ticket.ComOver; } oOver.Factura = oBO_Ticket.Factura; oOver.Pasajero = oBO_Ticket.Pasajero; oOver.Operacion = oBO_Ticket.Expediente; } oOver.DiferenciasPesos = oOver.OverRecPesos - oOver.OverPedPesos; oOver.DiferenciasDolares = oOver.OverRecDolares - oOver.OverPedDolares; return(oOver); }
private CreditoObj GetCredito(BSP_Ticket oBSP_Ticket) { CreditoObj oCredito = new CreditoObj(); oCredito.Nro = oBSP_Ticket.Billete.ToString(); oCredito.Rg = oBSP_Ticket.Rg == BSP_Rg.Internacional ? "IC" : "CC"; oCredito.Tr = oBSP_Ticket.Compania.Codigo; oCredito.Tarifa = oBSP_Ticket.TarContado + oBSP_Ticket.TarCredito; oCredito.Contado = oBSP_Ticket.TarContado; oCredito.Credito = oBSP_Ticket.TarCredito; oCredito.Impuestos = oBSP_Ticket.Detalle.Sum(x => x.ImpContado + x.ImpCredito); oCredito.IVA = oBSP_Ticket.IVA105; oCredito.Comision = oBSP_Ticket.ComValor + oBSP_Ticket.ComOver; oCredito.Fecha = AuditurHelpers.GetDateTimeString(oBSP_Ticket.FechaVenta); oCredito.Importe = oBSP_Ticket.Total; oCredito.Moneda = oBSP_Ticket.Moneda == Moneda.Peso ? "$" : "D"; oCredito.Observaciones = oBSP_Ticket.Detalle[0].Observaciones.Replace("|", "\n"); return(oCredito); }
private Reembolso GetReembolso(BSP_Ticket oBSP_Ticket) { Reembolso oReembolso = new Reembolso(); oReembolso.BoletoNro = oBSP_Ticket.Detalle.Find(x => x.Observaciones.Substring(0, 2) == "RF").Observaciones.Substring(5, 10); oReembolso.Rg = oBSP_Ticket.Rg == BSP_Rg.Internacional ? "IR" : "CR"; oReembolso.Tr = oBSP_Ticket.Compania.Codigo; oReembolso.Fecha = AuditurHelpers.GetDateTimeString(oBSP_Ticket.FechaVenta); oReembolso.Tarifa = (oBSP_Ticket.TarContado + oBSP_Ticket.TarCredito); oReembolso.Contado = oBSP_Ticket.TarContado; oReembolso.Credito = oBSP_Ticket.TarCredito; oReembolso.ImpContado = oBSP_Ticket.Detalle.Where(x => !x.ISO.Equals("CP")).Sum(x => x.ImpContado); oReembolso.ImpCredito = oBSP_Ticket.Detalle.Where(x => !x.ISO.Equals("CP")).Sum(x => x.ImpCredito); oReembolso.IVA = oBSP_Ticket.IVA105; oReembolso.CC = oBSP_Ticket.Detalle.Where(x => x.ISO.Equals("CP")).Sum(x => x.ImpContado + x.ImpCredito + x.IVA21); oReembolso.Comision = (oBSP_Ticket.ComValor + oBSP_Ticket.ComIVA); oReembolso.Importe = oBSP_Ticket.Total; oReembolso.Moneda = oBSP_Ticket.Moneda == Moneda.Peso ? "$" : "D"; oReembolso.ReembolsoNro = oBSP_Ticket.Billete.ToString(); return(oReembolso); }
public List <SituacionBSP> Generar(Semana oSemana) { List <SituacionBSP> lstSituacionBSP = new List <SituacionBSP>(); List <BSP_Ticket> lstTickets = oSemana.TicketsBSP .Where(bspT => bspT.Concepto.Tipo == 'B' && bspT.Tipo != "VVVV" && !oSemana.TicketsBO.Any(boT => boT.Billete == bspT.Billete && boT.Compania.Codigo == bspT.Compania.Codigo)) .OrderBy(x => x.Compania.Codigo).ThenBy(x => x.Billete) .ToList(); foreach (BSP_Ticket oBSP_Ticket in lstTickets) { SituacionBSP oSituacionBSP = new SituacionBSP(); oSituacionBSP.Tarifa = (oBSP_Ticket.TarContado + oBSP_Ticket.TarCredito); oSituacionBSP.Impuestos = (oBSP_Ticket.Detalle.Sum(x => x.ImpContado + x.ImpCredito) + oBSP_Ticket.IVA105); oSituacionBSP.Comision = (oBSP_Ticket.ComValor + oBSP_Ticket.ComIVA); oSituacionBSP.Importe = oBSP_Ticket.Total; if (oSituacionBSP.Tarifa != 0 || oSituacionBSP.Impuestos != 0 || oSituacionBSP.Comision != 0 || oSituacionBSP.Importe != 0) { oSituacionBSP.Contado = oBSP_Ticket.TarContado; oSituacionBSP.Credito = oBSP_Ticket.TarCredito; oSituacionBSP.BoletoNro = oBSP_Ticket.Billete.ToString(); oSituacionBSP.Rg = oBSP_Ticket.Rg == BSP_Rg.Doméstico ? "CT" : "IT"; oSituacionBSP.Tr = oBSP_Ticket.Compania.Codigo; oSituacionBSP.Moneda = oBSP_Ticket.Moneda == Moneda.Peso ? "$" : "D"; oSituacionBSP.Fecha = AuditurHelpers.GetDateTimeString(oBSP_Ticket.FechaVenta); oSituacionBSP.Observaciones = "No figura en su BO"; lstSituacionBSP.Add(oSituacionBSP); } } return(lstSituacionBSP); }
public List <ControlIVA> Generar(Semana oSemana) { List <ControlIVA> lstControlIVA = new List <ControlIVA>(); List <char> lstTipoConceptoPermitidos = new List <char>(); lstTipoConceptoPermitidos.Add('B'); //Billetes lstTipoConceptoPermitidos.Add('R'); //Reembolsos ControlIVA oControlIVA = null; //List<BO_Ticket> lstTicketsCargados = new List<BO_Ticket>(); List <BSP_Ticket> lstTickets = oSemana.TicketsBSP.Where(x => lstTipoConceptoPermitidos.Contains(x.Concepto.Tipo) && x.Rg == BSP_Rg.Doméstico).OrderBy(x => x.Compania.Codigo).ThenBy(x => x.Billete).ToList(); foreach (BSP_Ticket oBSP_Ticket in lstTickets) { BO_Ticket bo_ticket = oSemana.TicketsBO.Find(x => x.Billete == oBSP_Ticket.Billete && x.Compania.Codigo == oBSP_Ticket.Compania.Codigo); oControlIVA = new ControlIVA(); oControlIVA.TarifaBSP = Math.Abs(oBSP_Ticket.TarContado + oBSP_Ticket.TarCredito); oControlIVA.IVATarifaBSP = Math.Abs(oBSP_Ticket.IVA105); oControlIVA.ComisionBSP = Math.Abs(oBSP_Ticket.ComValor + oBSP_Ticket.ComOver); oControlIVA.IVAComisionBSP = Math.Abs(oBSP_Ticket.ComIVA); if (bo_ticket != null) { oControlIVA.TarifaBO = Math.Abs(bo_ticket.Tarifa); oControlIVA.IVATarifaBO = Math.Abs(bo_ticket.IVA105); oControlIVA.ComisionBO = Math.Abs(bo_ticket.ComValor + bo_ticket.ComOver); oControlIVA.IVAComisionBO = Math.Abs(bo_ticket.IVAComision); } oControlIVA.TarifaDif = oControlIVA.TarifaBSP - oControlIVA.TarifaBO; oControlIVA.IVATarifaDif = oControlIVA.IVATarifaBSP - oControlIVA.IVATarifaBO; oControlIVA.ComisionDif = oControlIVA.ComisionBSP - oControlIVA.ComisionBO; oControlIVA.IVAComisionDif = oControlIVA.IVAComisionBSP - oControlIVA.IVAComisionBO; if (Math.Abs(oControlIVA.TarifaDif) > DiferenciaMinima || Math.Abs(oControlIVA.IVATarifaDif) > DiferenciaMinima || Math.Abs(oControlIVA.ComisionDif) > DiferenciaMinima || Math.Abs(oControlIVA.IVAComisionDif) > DiferenciaMinima) { oControlIVA.BoletoNroBSP = oBSP_Ticket.Billete.ToString(); oControlIVA.RgBSP = "C"; oControlIVA.TrBSP = oBSP_Ticket.Compania.Codigo; oControlIVA.Tr2BSP = (oBSP_Ticket.Concepto.Tipo.Equals('R') ? "R" : (oBSP_Ticket.Tipo.Contains('F') && !oBSP_Ticket.Detalle.Any(x => x.Observaciones.Trim() == "CNJ") ? "B" : "V")); oControlIVA.MonedaBSP = oBSP_Ticket.Moneda == Moneda.Peso ? "$" : "D"; oControlIVA.FechaBSP = AuditurHelpers.GetDateTimeString(oBSP_Ticket.FechaVenta); if (bo_ticket != null) { oControlIVA.TrBO = bo_ticket.Compania != null ? bo_ticket.Compania.Codigo : ""; oControlIVA.NroTicketBO = bo_ticket.Billete.ToString(); oControlIVA.Referencia = bo_ticket.Expediente; oControlIVA.Factura = bo_ticket.Factura; oControlIVA.Pasajero = bo_ticket.Pasajero.ToString(); } lstControlIVA.Add(oControlIVA); } } return(lstControlIVA); }