public override MemoryStream ImprimePoliza(object datosPoliza, IList <PolizaInfo> polizas) { try { PolizaModel = new PolizaModel(); polizaImpresion = new PolizaImpresion <PolizaModel>(PolizaModel, TipoPoliza.SalidaMuerte); var costosAnimal = datosPoliza as List <AnimalCostoInfo>; var animalCostoAgrupado = (from costo in costosAnimal group costo by new { costo.AnimalID, costo.CostoID } into agrupado select new AnimalCostoInfo { AnimalID = agrupado.Key.AnimalID, Arete = agrupado.Select(ani => ani.Arete).FirstOrDefault(), CostoID = agrupado.Key.CostoID, Importe = agrupado.Sum(cos => cos.Importe), FolioReferencia = agrupado.Select(cos => cos.FolioReferencia).FirstOrDefault(), FechaCosto = agrupado.Select(cos => cos.FechaCosto).FirstOrDefault(), OrganizacionID = agrupado.Select(org => org.OrganizacionID).FirstOrDefault() }).ToList(); costosAnimal = animalCostoAgrupado; long folioVenta = Convert.ToInt64(costosAnimal.Select(folio => folio.Arete).FirstOrDefault()); int organizacionID = costosAnimal.Select(org => org.OrganizacionID).FirstOrDefault(); DateTime fechaVenta = DateTime.Today; OrganizacionInfo organizacionOrigen = ObtenerOrganizacionIVA(organizacionID); PolizaModel.Encabezados = new List <PolizaEncabezadoModel> { new PolizaEncabezadoModel { Descripcion = organizacionOrigen.Descripcion, Desplazamiento = 0 }, }; polizaImpresion.GeneraCabecero(new[] { "100" }, "NombreGanadera"); PolizaModel.Encabezados = new List <PolizaEncabezadoModel> { new PolizaEncabezadoModel { Descripcion = "Salida De Ganado x Muerte", Desplazamiento = 0 }, }; polizaImpresion.GeneraCabecero(new[] { "100" }, "NombreGanadera"); PolizaModel.Encabezados = new List <PolizaEncabezadoModel> { new PolizaEncabezadoModel { Descripcion = string.Format("{0} {1}", "FECHA:", fechaVenta.ToShortDateString()), Desplazamiento = 0 }, new PolizaEncabezadoModel { Descripcion = string.Format("{0} {1}", "FOLIO No.", folioVenta), Desplazamiento = 0 }, }; polizaImpresion.GeneraCabecero(new[] { "50", "50" }, "Folio"); polizaImpresion.GenerarLineaEnBlanco("Folio", 2); PolizaModel.Encabezados = new List <PolizaEncabezadoModel> { new PolizaEncabezadoModel { Descripcion = string.Format("{0}:{1}", "REFERENCIA", organizacionOrigen.Descripcion), }, new PolizaEncabezadoModel { Descripcion = string.Format("{0}:{1}", "FECHA", fechaVenta.ToShortDateString()), }, }; polizaImpresion.GeneraCabecero(new[] { "50", "50" }, "FECHA"); GeneraLinea(2); polizaImpresion.GeneraCabecero(new[] { "50", "50" }, "FECHA"); GeneraLineaEncabezadoDetalle(); var tipoGanadoBL = new TipoGanadoBL(); List <long> animalId = costosAnimal.Select(id => id.AnimalID).Distinct().ToList(); List <AnimalInfo> animales = animalId.Select(ani => new AnimalInfo { AnimalID = ani }).Distinct().ToList(); List <ContenedorTipoGanadoPoliza> tipoGanadoPolizas = tipoGanadoBL.ObtenerTipoPorAnimal(animales, TipoMovimiento. Muerte); List <ContenedorVentaGanado> ventasGanado = costosAnimal .Select(venta => new ContenedorVentaGanado { CausaPrecio = new CausaPrecioInfo(), VentaGanado = new VentaGanadoInfo(), VentaGanadoDetalle = new VentaGanadoDetalleInfo { Animal = new AnimalInfo { AnimalID = venta.AnimalID } } }).ToList(); GeneraLineasDetalle(tipoGanadoPolizas, costosAnimal, ventasGanado); GeneraLinea(12); polizaImpresion.GeneraCabecero(new[] { "100" }, "Detalle"); GeneraLineaEncabezadoCostos(); polizaImpresion.GeneraCabecero(new[] { "30", "20", "20", "5", "40" }, "Costos"); GeneraLineaCostos(costosAnimal, string.Empty); polizaImpresion.GeneraCostos("Costos"); GeneraLineaCostosTotales(); polizaImpresion.GeneraCabecero(new[] { "30", "20", "20", "5", "40" }, "Costos"); GeneraLineaTotalCostos(costosAnimal); GeneraLinea(5); polizaImpresion.GeneraCabecero(new[] { "100" }, "Costos"); polizaImpresion.GenerarLineaEnBlanco(); GeneraLineaEncabezadoRegistroContable(folioVenta); polizaImpresion.GeneraCabecero(new[] { "30", "60", "65", "25", "25" }, "RegistroContable"); GeneraLineaSubEncabezadoRegistroContable(false, "No DE CUENTA", "CARGOS", "ABONOS"); polizaImpresion.GeneraCabecero(new[] { "30", "60", "65", "25", "25" }, "RegistroContable"); IList <PolizaInfo> cargos; IList <PolizaInfo> abonos; GeneraLineaRegistroContable(polizas, out cargos, out abonos); polizaImpresion.GenerarRegistroContable("RegistroContable"); GeneraLinea(5); polizaImpresion.GeneraCabecero(new[] { "100" }, "RegistroContable"); GenerarLineaSumaRegistroContable(polizas, "*= SUMAS -=>"); polizaImpresion.GeneraCabecero(new[] { "30", "60", "65", "25", "25" }, "RegistroContable"); GeneraLinea(5); polizaImpresion.GeneraCabecero(new[] { "100" }, "RegistroContable"); return(polizaImpresion.GenerarArchivo()); } catch (Exception ex) { Logger.Error(ex); throw; } }
public override MemoryStream ImprimePoliza(object datosPoliza, IList <PolizaInfo> polizas) { try { PolizaModel = new PolizaModel(); polizaImpresion = new PolizaImpresion <PolizaModel>(PolizaModel, TipoPoliza.SalidaMuerteIntensiva); var muerteIntesiva = datosPoliza as GanadoIntensivoInfo; if (muerteIntesiva != null) { int organizacionID = muerteIntesiva.Organizacion.OrganizacionID; DateTime fechaMuerte = DateTime.Today; organizacionInfo = ObtenerOrganizacionSociedadDivision(muerteIntesiva.Organizacion.OrganizacionID, SociedadEnum.SuKarne); //PENDIENTE PARA OBTENER LA SOCIEDAD PolizaModel.Encabezados = new List <PolizaEncabezadoModel> { new PolizaEncabezadoModel { Descripcion = organizacionInfo.TituloPoliza, Desplazamiento = 0 }, }; polizaImpresion.GeneraCabecero(new[] { "100" }, "NombreGanadera"); PolizaModel.Encabezados = new List <PolizaEncabezadoModel> { new PolizaEncabezadoModel { Descripcion = "Salida x Muerte Ganado Intensivo", Desplazamiento = 0 }, }; polizaImpresion.GeneraCabecero(new[] { "100" }, "NombreGanadera"); PolizaModel.Encabezados = new List <PolizaEncabezadoModel> { new PolizaEncabezadoModel { Descripcion = string.Format("{0} {1}", "FECHA:", fechaMuerte.ToShortDateString()), Desplazamiento = 0 }, new PolizaEncabezadoModel { Descripcion = string.Format("{0} {1}", "FOLIO No.", muerteIntesiva.FolioTicket), Desplazamiento = 0 }, }; polizaImpresion.GeneraCabecero(new[] { "50", "50" }, "Folio"); polizaImpresion.GenerarLineaEnBlanco("Folio", 2); PolizaModel.Encabezados = new List <PolizaEncabezadoModel> { new PolizaEncabezadoModel { Descripcion = string.Format("{0}:{1}", "REFERENCIA", organizacionInfo.Descripcion), }, new PolizaEncabezadoModel { Descripcion = string.Format("{0}:{1}", "FECHA", fechaMuerte.ToShortDateString()), }, }; polizaImpresion.GeneraCabecero(new[] { "50", "50" }, "FECHA"); GeneraLinea(2); polizaImpresion.GeneraCabecero(new[] { "50", "50" }, "FECHA"); GeneraLineaEncabezadoDetalle(); GeneraLineasDetalle(muerteIntesiva); GeneraLinea(12); polizaImpresion.GeneraCabecero(new[] { "100" }, "Detalle"); GeneraLineaEncabezadoCostos(); polizaImpresion.GeneraCabecero(new[] { "30", "20", "20", "5", "40" }, "Costos"); GeneraLineaCostos(muerteIntesiva.ListaGanadoIntensivoCosto, string.Empty); polizaImpresion.GeneraCostos("Costos"); GeneraLineaCostosTotales(); polizaImpresion.GeneraCabecero(new[] { "30", "20", "20", "5", "40" }, "Costos"); GeneraLineaTotalCostos(muerteIntesiva.ListaGanadoIntensivoCosto); GeneraLinea(5); polizaImpresion.GeneraCabecero(new[] { "100" }, "Costos"); polizaImpresion.GenerarLineaEnBlanco(); GeneraLineaEncabezadoRegistroContable(muerteIntesiva.FolioTicket); polizaImpresion.GeneraCabecero(new[] { "30", "60", "65", "25", "25" }, "RegistroContable"); GeneraLineaSubEncabezadoRegistroContable(false, "No DE CUENTA", "CARGOS", "ABONOS"); polizaImpresion.GeneraCabecero(new[] { "30", "60", "65", "25", "25" }, "RegistroContable"); IList <PolizaInfo> cargos; IList <PolizaInfo> abonos; GeneraLineaRegistroContable(polizas, out cargos, out abonos); polizaImpresion.GenerarRegistroContable("RegistroContable"); GeneraLinea(5); polizaImpresion.GeneraCabecero(new[] { "100" }, "RegistroContable"); GenerarLineaSumaRegistroContable(polizas, "*= SUMAS -=>"); polizaImpresion.GeneraCabecero(new[] { "30", "60", "65", "25", "25" }, "RegistroContable"); GeneraLinea(5); polizaImpresion.GeneraCabecero(new[] { "100" }, "RegistroContable"); } return(polizaImpresion.GenerarArchivo()); } catch (Exception ex) { Logger.Error(ex); throw; } }
/// <summary> /// genera el archivo PDF de la poliza /// </summary> /// <param name="contenedorSalidaPorMuerte">Objeto SalidaGanadoEnTransitoInfo que contiene la informacion de la salida de ganado en transito por muerte</param> /// <param name="polizas">Nodos de la poliza generada para la salida de ganado en transito</param> /// <returns>Regresa el archivo PDF que se guardara</returns> public override MemoryStream ImprimePoliza(object contenedorSalidaPorMuerte, IList <PolizaInfo> polizas) { try { PolizaModel = new PolizaModel(); polizaImpresion = new PolizaImpresion <PolizaModel>(PolizaModel, TipoPoliza.SalidaMuerteEnTransito); var info = contenedorSalidaPorMuerte as SalidaGanadoEnTransitoInfo; if (info != null) { //genera los encabezados del PDF: #region cabecera var organizacionInfo = ObtenerOrganizacionSociedadDivision(info.OrganizacionID, SociedadEnum.SuKarne); PolizaModel.Encabezados = new List <PolizaEncabezadoModel> { new PolizaEncabezadoModel { Descripcion = organizacionInfo.TituloPoliza, Desplazamiento = 0 } }; polizaImpresion.GeneraCabecero(new[] { "100" }, "NombreGanadera"); PolizaModel.Encabezados = new List <PolizaEncabezadoModel> { new PolizaEncabezadoModel { Descripcion = "Salida x Muerte En tránsito", Desplazamiento = 0 }, }; polizaImpresion.GeneraCabecero(new[] { "100" }, "NombreGanadera"); PolizaModel.Encabezados = new List <PolizaEncabezadoModel> { new PolizaEncabezadoModel { Descripcion = string.Format("{0} {1}", "FECHA:", info.Fecha.ToShortDateString()), Desplazamiento = 0 }, new PolizaEncabezadoModel { Descripcion = string.Format("{0} {1}", "FOLIO No.", info.Folio), Desplazamiento = 0 }, }; polizaImpresion.GeneraCabecero(new[] { "50", "50" }, "Folio"); polizaImpresion.GenerarLineaEnBlanco("Folio", 2); PolizaModel.Encabezados = new List <PolizaEncabezadoModel> { new PolizaEncabezadoModel { Descripcion = string.Format("{0}: {1}", "REFERENCIA", organizacionInfo.Descripcion), }, new PolizaEncabezadoModel { Descripcion = string.Format("{0}: {1}", "FECHA", info.Fecha.ToShortDateString()), }, }; polizaImpresion.GeneraCabecero(new[] { "50", "50" }, "FECHA"); GeneraLinea(2); polizaImpresion.GeneraCabecero(new[] { "50", "50" }, "FECHA"); #endregion //Genera las lineas de encabezado del detalle: GeneraLineaEncabezadoDetalle(); //Genera las lineas de detalle del PDF de la poliza GeneraLineasDetalle(info); GeneraLinea(12); //genera un salto de linea vacio polizaImpresion.GeneraCabecero(new[] { "100" }, "Detalle"); GeneraLineaEncabezadoCostos(); //genera encabezados de los costos polizaImpresion.GeneraCabecero(new[] { "30", "20", "20", "5", "40" }, "Costos"); GeneraLineaCostos(info.DetallesSalida, info.Observaciones); //genera las lineas de costos de la poliza PDF polizaImpresion.GeneraCostos("Costos"); //anexa las lineas generadas de costos al modelo PDF que se generara GeneraLineaCostosTotales(); //genera las lineas de sumatorias de los costos polizaImpresion.GeneraCabecero(new[] { "30", "20", "20", "5", "40" }, "Costos"); GeneraLineaTotalCostos(info.DetallesSalida); GeneraLinea(5); polizaImpresion.GeneraCabecero(new[] { "100" }, "Costos"); polizaImpresion.GenerarLineaEnBlanco(); GeneraLineaEncabezadoRegistroContable(info.Folio); //genera el encabezado para los registros contables polizaImpresion.GeneraCabecero(new[] { "30", "60", "65", "25", "25" }, "RegistroContable"); GeneraLineaSubEncabezadoRegistroContable(false, "No DE CUENTA", "CARGOS", "ABONOS"); polizaImpresion.GeneraCabecero(new[] { "30", "60", "65", "25", "25" }, "RegistroContable"); IList <PolizaInfo> cargos; IList <PolizaInfo> abonos; GeneraLineaRegistroContable(polizas, out cargos, out abonos); //genera los registros contables polizaImpresion.GenerarRegistroContable("RegistroContable"); //anexa las lineas generadas de registros contables al modelo PDF que se generara GeneraLinea(5); polizaImpresion.GeneraCabecero(new[] { "100" }, "RegistroContable"); GenerarLineaSumaRegistroContable(polizas, "*= SUMAS -=>"); //genera la linea de sumatoria de los registros contables polizaImpresion.GeneraCabecero(new[] { "30", "60", "65", "25", "25" }, "RegistroContable"); GeneraLinea(5); polizaImpresion.GeneraCabecero(new[] { "100" }, "RegistroContable"); return(polizaImpresion.GenerarArchivo()); } return(new MemoryStream()); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// metodo que se usa para imprimir la poliza /// </summary> /// <param name="contenedorSalidaPorVenta"></param> /// <param name="polizas"></param> /// <returns></returns> public override MemoryStream ImprimePoliza(object contenedorSalidaPorVenta, IList <PolizaInfo> polizas) { PolizaModel = new PolizaModel(); polizaImpresion = new PolizaImpresion <PolizaModel>(PolizaModel, TipoPoliza.SalidaVentaEnTransito); var info = contenedorSalidaPorVenta as SalidaGanadoEnTransitoInfo; var firstOrDefault = polizas.FirstOrDefault(); if (firstOrDefault != null) { firstOrDefault.Cuenta = firstOrDefault.Cliente; } if (info == null) { return(new MemoryStream()); } #region cabecera var organizacionInfo = ObtenerOrganizacionSociedadDivision(info.OrganizacionID, SociedadEnum.SuKarne); PolizaModel.Encabezados = new List <PolizaEncabezadoModel> { new PolizaEncabezadoModel { Descripcion = organizacionInfo.TituloPoliza, Desplazamiento = 0 }, }; polizaImpresion.GeneraCabecero(new[] { "100" }, "NombreGanadera"); PolizaModel.Encabezados = new List <PolizaEncabezadoModel> { new PolizaEncabezadoModel { Descripcion = "Salida x Venta En tránsito", Desplazamiento = 0 }, }; polizaImpresion.GeneraCabecero(new[] { "100" }, "NombreGanadera"); PolizaModel.Encabezados = new List <PolizaEncabezadoModel> { new PolizaEncabezadoModel { Descripcion = string.Format("{0} {1}", "FECHA:", info.Fecha.ToShortDateString()), Desplazamiento = 0 }, new PolizaEncabezadoModel { Descripcion = string.Format("{0} {1}", "FOLIO No.", info.Folio), Desplazamiento = 0 }, }; polizaImpresion.GeneraCabecero(new[] { "50", "50" }, "Folio"); polizaImpresion.GenerarLineaEnBlanco("Folio", 2); #endregion var codigoSap = info.Cliente.CodigoSAP; clienteSap = new ClienteInfo { CodigoSAP = codigoSap }; var clienteBl = new ClienteBL(); clienteSap = clienteBl.ObtenerClientePorCliente(clienteSap); PolizaModel.Encabezados = new List <PolizaEncabezadoModel> { new PolizaEncabezadoModel { Descripcion = string.Format("{0}:{1}", "CLIENTE", clienteSap.Descripcion), Desplazamiento = 0 }, new PolizaEncabezadoModel { Descripcion = string.Format("{0}:{1}", "REFERENCIA", organizacionInfo.Descripcion), Desplazamiento = 0 }, }; polizaImpresion.GeneraCabecero(new[] { "50", "50" }, "Proveedor"); PolizaModel.Encabezados = new List <PolizaEncabezadoModel> { new PolizaEncabezadoModel { Descripcion = string.Format("{0}:{1}", "VENDEDOR", string.Empty), Desplazamiento = 0 }, new PolizaEncabezadoModel { Descripcion = string.Format("{0}:{1}", "FECHA", info.Fecha.ToShortDateString()), Desplazamiento = 0 }, }; polizaImpresion.GeneraCabecero(new[] { "50", "50" }, "Comprador"); GeneraLinea(2); polizaImpresion.GeneraCabecero(new[] { "100" }, "Comprador"); GeneraLineaEncabezadoDetalle(); GeneraLineasDetalle(info); GeneraLinea(12); polizaImpresion.GeneraCabecero(new[] { "100" }, "Detalle"); GeneraLineaEncabezadoCostos(); polizaImpresion.GeneraCabecero(new[] { "30", "20", "20", "5", "40" }, "Costos"); GeneraLineaCostos(info.DetallesSalida, string.Empty); polizaImpresion.GeneraCostos("Costos"); GeneraLineaCostosTotales(); polizaImpresion.GeneraCabecero(new[] { "30", "20", "20", "5", "40" }, "Costos"); GeneraLineaTotalCostos(info.DetallesSalida); GeneraLinea(5); polizaImpresion.GeneraCabecero(new[] { "100" }, "Costos"); polizaImpresion.GenerarLineaEnBlanco(); GeneraLineaEncabezadoRegistroContable(info.Folio); polizaImpresion.GeneraCabecero(new[] { "30", "60", "65", "25", "25" }, "RegistroContable"); GeneraLineaSubEncabezadoRegistroContable(false, "No DE CUENTA", "CARGOS", "ABONOS"); polizaImpresion.GeneraCabecero(new[] { "30", "60", "65", "25", "25" }, "RegistroContable"); IList <PolizaInfo> cargos; IList <PolizaInfo> abonos; GeneraLineaRegistroContable(polizas, out cargos, out abonos); polizaImpresion.GenerarRegistroContable("RegistroContable"); GeneraLinea(5); polizaImpresion.GeneraCabecero(new[] { "100" }, "RegistroContable"); GenerarLineaSumaRegistroContable(polizas, "*= SUMAS -=>"); polizaImpresion.GeneraCabecero(new[] { "30", "60", "65", "25", "25" }, "RegistroContable"); GeneraLinea(5); polizaImpresion.GeneraCabecero(new[] { "100" }, "RegistroContable"); return(polizaImpresion.GenerarArchivo()); }