Ejemplo n.º 1
0
        public int modificarCooperativa([FromBody] CooperativaAF oCooperativaAF)
        {
            int rpta = 0;

            try
            {
                using (BDAcaassAFContext bd = new BDAcaassAFContext())
                {
                    Cooperativa oCooperativa = bd.Cooperativa.Where(p => p.IdCooperativa == oCooperativaAF.idcooperativa).First();
                    Periodo     oPeriodo     = bd.Periodo.Where(p => p.IdCooperativa == oCooperativaAF.idcooperativa).First();
                    oCooperativa.Nombre      = oCooperativaAF.nombre;
                    oCooperativa.Descripcion = oCooperativaAF.descripcion;
                    if (oCooperativaAF.logo != "")
                    {
                        oCooperativa.Logo = oCooperativaAF.logo;
                    }
                    oPeriodo.Anio = oCooperativaAF.anio;
                    bd.SaveChanges();
                    rpta = 1;
                }
            }
            catch (Exception ex)
            {
                rpta = 0;
            }
            return(rpta);
        }
Ejemplo n.º 2
0
        public CooperativaAF recuperarLogoCooperativa()
        {
            using (BDAcaassAFContext bd = new BDAcaassAFContext())
            {
                CooperativaAF oCooperativaAF = new CooperativaAF();
                Cooperativa   oCooperativa   = bd.Cooperativa.Where(p => p.IdCooperativa == 2).First();
                oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa;
                oCooperativaAF.logo          = oCooperativa.Logo;

                return(oCooperativaAF);
            }
        }
Ejemplo n.º 3
0
        public CooperativaAF recuperarCoop()
        {
            using (BDAcaassAFContext bd = new BDAcaassAFContext())
            {
                CooperativaAF oCooperativaAF = new CooperativaAF();
                Cooperativa   oCooperativa   = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First();
                oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa;
                oCooperativaAF.nombre        = oCooperativa.Nombre;
                oCooperativaAF.descripcion   = oCooperativa.Descripcion;
                oCooperativaAF.logo          = oCooperativa.Logo;

                return(oCooperativaAF);
            }
        }
Ejemplo n.º 4
0
        public CooperativaAF recuperarCooperativa(int id)
        {
            using (BDAcaassAFContext bd = new BDAcaassAFContext())
            {
                CooperativaAF oCooperativaAF = new CooperativaAF();
                Cooperativa   oCooperativa   = bd.Cooperativa.Where(p => p.IdCooperativa == id).First();
                Periodo       oPeriodo       = bd.Periodo.Where(p => p.IdCooperativa == oCooperativa.IdCooperativa && p.Estado == 1).FirstOrDefault();
                oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa;
                oCooperativaAF.nombre        = oCooperativa.Nombre;
                oCooperativaAF.logo          = oCooperativa.Logo;
                oCooperativaAF.anio          = (int)oPeriodo.Anio;
                oCooperativaAF.descripcion   = oCooperativa.Descripcion;

                return(oCooperativaAF);
            }
        }
Ejemplo n.º 5
0
        public int guardarCooperativa([FromBody] CooperativaAF oCooperativaF, PeriodoAF oPeriodoAF)
        {
            int rpta = 0;

            try
            {
                using (BDAcaassAFContext bd = new BDAcaassAFContext())
                {
                    Cooperativa oCooperativa = new Cooperativa();
                    oCooperativa.IdCooperativa = oCooperativaF.idcooperativa;
                    oCooperativa.Nombre        = oCooperativaF.nombre;
                    oCooperativa.Logo          = oCooperativaF.logo;
                    oCooperativa.Descripcion   = oCooperativaF.descripcion;
                    oCooperativa.Dhabilitado   = 1;
                    bd.Cooperativa.Add(oCooperativa);
                    bd.SaveChanges();

                    //Para guardar en la tabla periodo
                    Periodo     oPeriodo            = new Periodo();
                    Cooperativa oCooperativaPeriodo = bd.Cooperativa.Last();
                    oPeriodo.IdPeriodo = oPeriodoAF.idperiodo;

                    //Le mando el id de la cooperativa a la tabla periodo
                    oPeriodo.IdCooperativa = oCooperativaPeriodo.IdCooperativa;

                    oPeriodo.Anio   = oCooperativaF.anio;
                    oPeriodo.Estado = 1;
                    bd.Periodo.Add(oPeriodo);
                    bd.SaveChanges();
                    rpta = 1;
                }
            }
            catch (Exception ex)
            {
                rpta = 0;
            }

            return(rpta);
        }
        public async Task <IActionResult> activosEnManteJefePdf(int idJefe)
        {
            Document doc = new Document(PageSize.Letter);

            doc.SetMargins(40f, 40f, 40f, 40f);
            MemoryStream ms     = new MemoryStream();
            PdfWriter    writer = PdfWriter.GetInstance(doc, ms);

            //Instanciamos la clase para el paginado y la fecha de impresión
            var pe = new PageEventHelper();

            writer.PageEvent = pe;

            doc.AddAuthor("Asgard");
            doc.AddTitle("Reporte activos en mantenimiento");
            doc.Open();

            //Inicia cuerpo del reporte

            //Estilo y fuente personalizada
            BaseFont fuente = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo = new iTextSharp.text.Font(fuente, 12f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente2 = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo2 = new iTextSharp.text.Font(fuente2, 10f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente3  = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo3 = new iTextSharp.text.Font(fuente3, 15f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente4  = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo4 = new iTextSharp.text.Font(fuente4, 11f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));

            //Para las celdas
            BaseFont fuente5 = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, true);

            iTextSharp.text.Font parrafo5 = new iTextSharp.text.Font(fuente5, 10f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));


            //Encabezado
            using (BDAcaassAFContext bd = new BDAcaassAFContext())
            {
                CooperativaAF oCooperativaAF = new CooperativaAF();
                Cooperativa   oCooperativa   = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First();
                oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa;
                oCooperativaAF.nombre        = oCooperativa.Nombre;
                oCooperativaAF.descripcion   = oCooperativa.Descripcion;

                //Se agrega el encabezado
                var tbl1 = new PdfPTable(new float[] { 11f, 89f })
                {
                    WidthPercentage = 100f
                };
                tbl1.AddCell(new PdfPCell(new Phrase(" ", parrafo2))
                {
                    Border = 0, Rowspan = 2
                });
                tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Descripcion.ToUpper(), parrafo2))
                {
                    Border = 0, HorizontalAlignment = 1
                });
                tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Nombre.ToUpper(), parrafo3))
                {
                    Border = 0, HorizontalAlignment = 1
                });
                doc.Add(tbl1);
                doc.Add(new Phrase("\n"));
            }
            doc.Add(new Phrase("\n"));
            //Línea separadora
            Chunk linea = new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(1f, 100f, BaseColor.Black, Element.ALIGN_CENTER, 1f));

            doc.Add(linea);
            doc.Add(new Paragraph("REPORTE DE ACTIVOS EN MANTENIMIENTO", parrafo)
            {
                Alignment = Element.ALIGN_CENTER
            });

            //Espacio en blanco
            doc.Add(Chunk.Newline);

            //Agregamos una tabla
            var tbl = new PdfPTable(new float[] { 25f, 40f, 40f, 40f })
            {
                WidthPercentage = 100f
            };
            var c1 = new PdfPCell(new Phrase("CÓDIGO", parrafo2));
            var c2 = new PdfPCell(new Phrase("DESCRIPCIÓN", parrafo2));
            var c3 = new PdfPCell(new Phrase("RAZONES DE MANTENIMIENTO", parrafo2));
            var c4 = new PdfPCell(new Phrase("PERÍODO DE MANTENIMIENTO", parrafo2));

            //Agregamos a la tabla las celdas
            tbl.AddCell(c1);
            tbl.AddCell(c2);
            tbl.AddCell(c3);
            tbl.AddCell(c4);

            //Extraemos de la base y llenamos las celdas
            using (BDAcaassAFContext bd = new BDAcaassAFContext())
            {
                Empleado      oempleado = bd.Empleado.Where(p => p.IdEmpleado == idJefe).FirstOrDefault();
                AreaDeNegocio oarea     = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oempleado.IdAreaDeNegocio).FirstOrDefault();
                IEnumerable <BienesSolicitadosMttoAF> lista = (from bienMtto in bd.BienMantenimiento
                                                               join activo in bd.ActivoFijo
                                                               on bienMtto.IdBien equals activo.IdBien
                                                               join solicitud in bd.SolicitudMantenimiento
                                                               on bienMtto.IdSolicitud equals solicitud.IdSolicitud
                                                               join resposable in bd.Empleado
                                                               on activo.IdResponsable equals resposable.IdEmpleado
                                                               join area in bd.AreaDeNegocio
                                                               on resposable.IdAreaDeNegocio equals area.IdAreaNegocio
                                                                                                                                                                   //  join informe in bd.InformeMantenimiento
                                                                                                                                                                   // on bienMtto.IdMantenimiento equals informe.IdMantenimiento
                                                               where activo.EstadoActual == 3 && bienMtto.Estado == 1 && area.IdAreaNegocio == oarea.IdAreaNegocio //ELEMENTO 2 LISTA
                                                               select new BienesSolicitadosMttoAF
                {
                    idBien = activo.IdBien,
                    idmantenimiento = bienMtto.IdMantenimiento,
                    estadoActual = (int)activo.EstadoActual,
                    Codigo = activo.CorrelativoBien,
                    Descripcion = activo.Desripcion,
                    Periodo = bienMtto.PeriodoMantenimiento,
                    Razon = bienMtto.RazonMantenimiento,
                    fechacadena = solicitud.Fecha == null ? " " : ((DateTime)solicitud.Fecha).ToString("dd-MM-yyyy"),
                }).ToList();
                foreach (var activosmante in lista)
                {
                    c1.Phrase = new Phrase(activosmante.Codigo, parrafo5);
                    c2.Phrase = new Phrase(activosmante.Descripcion, parrafo5);
                    c3.Phrase = new Phrase(activosmante.Razon, parrafo5);
                    c4.Phrase = new Phrase(activosmante.Periodo, parrafo5);



                    //Agregamos a la tabla
                    tbl.AddCell(c1);
                    tbl.AddCell(c2);
                    tbl.AddCell(c3);
                    tbl.AddCell(c4);
                }

                //INICIO DE ADICIÓN DE LOGO
                CooperativaAF oCooperativaAF = new CooperativaAF();

                Cooperativa oCooperativa = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First();
                oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa;


                try
                {
                    iTextSharp.text.Image logo = null;
                    logo             = iTextSharp.text.Image.GetInstance(oCooperativa.Logo.ToString());
                    logo.Alignment   = iTextSharp.text.Image.ALIGN_LEFT;
                    logo.Border      = iTextSharp.text.Rectangle.NO_BORDER;
                    logo.BorderColor = iTextSharp.text.BaseColor.White;
                    logo.ScaleToFit(170f, 100f);

                    float ancho      = logo.Width;
                    float alto       = logo.Height;
                    float proporcion = alto / ancho;

                    logo.ScaleAbsoluteWidth(80);
                    logo.ScaleAbsoluteHeight(80 * proporcion);

                    logo.SetAbsolutePosition(40f, 695f);

                    doc.Add(logo);
                }
                catch (DocumentException dex)
                {
                    //log exception here
                }

                //FIN DE ADICIÓN DE LOGO
            }
            doc.Add(tbl);
            writer.Close();
            doc.Close();
            ms.Seek(0, SeekOrigin.Begin);
            return(File(ms, "application/pdf"));
        }
        public async Task <IActionResult> historialmantenimientopdf(int idbien)
        {
            Document doc = new Document(PageSize.Letter);

            doc.SetMargins(40f, 40f, 40f, 40f);
            MemoryStream ms     = new MemoryStream();
            PdfWriter    writer = PdfWriter.GetInstance(doc, ms);

            //Instanciamos la clase para el paginado y la fecha de impresión
            var pe = new PageEventHelper();

            writer.PageEvent = pe;

            doc.AddAuthor("Asgard");
            doc.AddTitle("Reporte historial mantenimiento");
            doc.Open();

            //Inicia cuerpo del reporte

            //Estilo y fuente personalizada
            BaseFont fuente = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo = new iTextSharp.text.Font(fuente, 12f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente2 = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo2 = new iTextSharp.text.Font(fuente2, 11f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente3  = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo3 = new iTextSharp.text.Font(fuente3, 15f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente4  = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo4 = new iTextSharp.text.Font(fuente4, 11f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));

            //Para las celdas
            BaseFont fuente5 = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, true);

            iTextSharp.text.Font parrafo5 = new iTextSharp.text.Font(fuente5, 10f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));

            //Fuente para tarjeta
            BaseFont fuente6 = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo6 = new iTextSharp.text.Font(fuente2, 9f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente7  = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo7 = new iTextSharp.text.Font(fuente, 9f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));

            BaseFont fuente8 = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo8 = new iTextSharp.text.Font(fuente2, 9f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));


            //Encabezado
            using (BDAcaassAFContext bd = new BDAcaassAFContext())
            {
                CooperativaAF oCooperativaAF = new CooperativaAF();
                Cooperativa   oCooperativa   = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First();
                oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa;
                oCooperativaAF.nombre        = oCooperativa.Nombre;
                oCooperativaAF.descripcion   = oCooperativa.Descripcion;

                //Se agrega el encabezado
                var tbl1 = new PdfPTable(new float[] { 11f, 89f })
                {
                    WidthPercentage = 100f
                };
                tbl1.AddCell(new PdfPCell(new Phrase(" ", parrafo2))
                {
                    Border = 0, Rowspan = 2
                });
                tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Descripcion.ToUpper(), parrafo2))
                {
                    Border = 0, HorizontalAlignment = 1
                });
                tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Nombre.ToUpper(), parrafo3))
                {
                    Border = 0, HorizontalAlignment = 1
                });
                doc.Add(tbl1);
                doc.Add(new Phrase("\n"));
            }
            doc.Add(new Phrase("\n"));
            //Línea separadora
            Chunk linea = new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(1f, 100f, BaseColor.Black, Element.ALIGN_CENTER, 1f));

            doc.Add(linea);
            doc.Add(new Paragraph("REPORTE HISTORIAL DE MANTENIMIENTO ", parrafo)
            {
                Alignment = Element.ALIGN_CENTER
            });

            //Espacio en blanco
            doc.Add(Chunk.Newline);

            //Extraemos de la base y llenamos las celdas
            using (BDAcaassAFContext bd = new BDAcaassAFContext())
            {
                InformeMatenimientoAF odatos  = new InformeMatenimientoAF();
                ActivoFijo            oActivo = bd.ActivoFijo.Where(p => p.IdBien == idbien).First();

                odatos.descripcion = oActivo.Desripcion;
                odatos.codigo      = oActivo.CorrelativoBien;
                Empleado      oempleado = bd.Empleado.Where(p => p.IdEmpleado == oActivo.IdResponsable).First();
                AreaDeNegocio oArea     = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oempleado.IdAreaDeNegocio).First();
                odatos.encargado     = oempleado.Nombres + " " + oempleado.Apellidos;
                odatos.areadenegocio = oArea.Nombre;
                // return odatos;


                //Cuerpo de la tarjeta
                var tbl1 = new PdfPTable(new float[] { 4f, 7f, 5f, 7f })
                {
                    WidthPercentage = 100f
                };
                tbl1.AddCell(new PdfPCell(new Phrase("Correlativo: ", parrafo6))
                {
                    Border = 0, Rowspan = 2
                });
                tbl1.AddCell(new PdfPCell(new Phrase(odatos.codigo, parrafo7))
                {
                    Border = 0
                });
                tbl1.AddCell(new PdfPCell(new Phrase("Descripción de activo: ", parrafo6))
                {
                    Border = 0, Rowspan = 2
                });
                tbl1.AddCell(new PdfPCell(new Phrase(odatos.descripcion, parrafo7))
                {
                    Border = 0
                });


                var tbl2 = new PdfPTable(new float[] { 4f, 7f, 5f, 7f })
                {
                    WidthPercentage = 100f
                };
                tbl2.AddCell(new PdfPCell(new Phrase("Encargado actual: ", parrafo6))
                {
                    Border = 0, Rowspan = 2
                });
                tbl2.AddCell(new PdfPCell(new Phrase(odatos.encargado, parrafo7))
                {
                    Border = 0
                });
                tbl2.AddCell(new PdfPCell(new Phrase("Área de negocio actual: ", parrafo6))
                {
                    Border = 0, Rowspan = 2
                });
                tbl2.AddCell(new PdfPCell(new Phrase(odatos.areadenegocio, parrafo7))
                {
                    Border = 0
                });



                doc.Add(tbl1);
                doc.Add(Chunk.Newline);
                doc.Add(tbl2);
                doc.Add(Chunk.Newline);


                //Tabla de transacciones
                // doc.Add(new Paragraph("TABLA HISTORIAL DE TRASPASOS", parrafo2) { Alignment = Element.ALIGN_CENTER });


                //Agregamos una tabla
                //Agregamos una tabla
                var tbl = new PdfPTable(new float[] { 25f, 30f, 25f, 30f, 20f, 40f })
                {
                    WidthPercentage = 100f
                };
                var c1 = new PdfPCell(new Phrase("FECHA", parrafo2));
                var c2 = new PdfPCell(new Phrase("TÉCNICO", parrafo2));
                var c3 = new PdfPCell(new Phrase("MANO DE OBRA", parrafo2));
                var c4 = new PdfPCell(new Phrase("MATERIALES", parrafo2));
                var c5 = new PdfPCell(new Phrase("COSTO TOTAL", parrafo2));
                var c6 = new PdfPCell(new Phrase("DESCRIPCIÓN", parrafo2));

                //Agregamos a la tabla las celdas
                tbl.AddCell(c1);
                tbl.AddCell(c2);
                tbl.AddCell(c3);
                tbl.AddCell(c4);
                tbl.AddCell(c5);
                tbl.AddCell(c6);


                IEnumerable <InformeMatenimientoAF> lista = (from tecnico in bd.Tecnicos
                                                             join informemante in bd.InformeMantenimiento
                                                             on tecnico.IdTecnico equals informemante.IdTecnico
                                                             join bienmante in bd.BienMantenimiento
                                                             on informemante.IdMantenimiento equals bienmante.IdMantenimiento
                                                             join bienes in bd.ActivoFijo
                                                             on bienmante.IdBien equals bienes.IdBien
                                                             where bienes.IdBien == idbien //&& informemante.Estado == 0 || informemante.Estado == 2 || informemante.Estado == 1
                                                             orderby bienes.CorrelativoBien

                                                             select new InformeMatenimientoAF
                {
                    idinformematenimiento = informemante.IdInformeMantenimiento,
                    idBien = bienes.IdBien,
                    idmantenimiento = (int)informemante.IdMantenimiento,
                    fechacadena = informemante.Fecha == null ? " " : ((DateTime)informemante.Fecha).ToString("dd-MM-yyyy"),
                    nombretecnico = tecnico.Nombre,
                    codigo = bienes.CorrelativoBien,
                    descripcion = informemante.Descripcion,
                    costomateriales = (double)informemante.CostoMateriales,
                    costomo = (double)informemante.CostoMo,
                    costototal = (double)informemante.CostoTotal,
                    bienes = bienes.Desripcion
                }).ToList();

                foreach (var historialmante in lista)
                {
                    c1.Phrase = new Phrase(historialmante.fechacadena, parrafo5);
                    c2.Phrase = new Phrase(historialmante.nombretecnico, parrafo5);
                    c3.Phrase = new Phrase("$" + historialmante.costomo.ToString(), parrafo5);
                    c4.Phrase = new Phrase("$" + historialmante.costomateriales.ToString(), parrafo5);
                    c5.Phrase = new Phrase("$" + historialmante.costototal.ToString(), parrafo5);
                    c6.Phrase = new Phrase(historialmante.descripcion, parrafo5);



                    //Agregamos a la tabla
                    tbl.AddCell(c1);
                    tbl.AddCell(c2);
                    tbl.AddCell(c3);
                    tbl.AddCell(c4);
                    tbl.AddCell(c5);
                    tbl.AddCell(c6);
                }
                doc.Add(tbl);
                //INICIO DE ADICIÓN DE LOGO
                CooperativaAF oCooperativaAF = new CooperativaAF();

                Cooperativa oCooperativa = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First();
                oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa;


                try
                {
                    iTextSharp.text.Image logo = null;
                    logo             = iTextSharp.text.Image.GetInstance(oCooperativa.Logo.ToString());
                    logo.Alignment   = iTextSharp.text.Image.ALIGN_LEFT;
                    logo.Border      = iTextSharp.text.Rectangle.NO_BORDER;
                    logo.BorderColor = iTextSharp.text.BaseColor.White;
                    logo.ScaleToFit(170f, 100f);

                    float ancho      = logo.Width;
                    float alto       = logo.Height;
                    float proporcion = alto / ancho;

                    logo.ScaleAbsoluteWidth(80);
                    logo.ScaleAbsoluteHeight(80 * proporcion);

                    logo.SetAbsolutePosition(40f, 695f);

                    doc.Add(logo);
                }
                catch (DocumentException dex)
                {
                    //log exception here
                }

                //FIN DE ADICIÓN DE LOGO
            }
            writer.Close();
            doc.Close();
            ms.Seek(0, SeekOrigin.Begin);
            return(File(ms, "application/pdf"));
        }
        public async Task <IActionResult> solicitudesmantenimientopdf()
        {
            Document doc = new Document(PageSize.Letter);

            doc.SetMargins(40f, 40f, 40f, 40f);
            MemoryStream ms     = new MemoryStream();
            PdfWriter    writer = PdfWriter.GetInstance(doc, ms);

            //Instanciamos la clase para el paginado y la fecha de impresión
            var pe = new PageEventHelper();

            writer.PageEvent = pe;

            doc.AddAuthor("Asgard");
            doc.AddTitle("Reporte solicitudes de mantenimiento");
            doc.Open();

            //Inicia cuerpo del reporte

            //Estilo y fuente personalizada
            BaseFont fuente = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo = new iTextSharp.text.Font(fuente, 12f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente2 = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo2 = new iTextSharp.text.Font(fuente2, 11f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente3  = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo3 = new iTextSharp.text.Font(fuente3, 15f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente4  = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo4 = new iTextSharp.text.Font(fuente4, 11f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));

            //Para las celdas
            BaseFont fuente5 = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, true);

            iTextSharp.text.Font parrafo5 = new iTextSharp.text.Font(fuente5, 10f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));


            //Encabezado
            using (BDAcaassAFContext bd = new BDAcaassAFContext())
            {
                CooperativaAF oCooperativaAF = new CooperativaAF();
                Cooperativa   oCooperativa   = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First();
                oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa;
                oCooperativaAF.nombre        = oCooperativa.Nombre;
                oCooperativaAF.descripcion   = oCooperativa.Descripcion;

                //Se agrega el encabezado
                var tbl1 = new PdfPTable(new float[] { 11f, 89f })
                {
                    WidthPercentage = 100f
                };
                tbl1.AddCell(new PdfPCell(new Phrase(" ", parrafo2))
                {
                    Border = 0, Rowspan = 2
                });
                tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Descripcion.ToUpper(), parrafo2))
                {
                    Border = 0, HorizontalAlignment = 1
                });
                tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Nombre.ToUpper(), parrafo3))
                {
                    Border = 0, HorizontalAlignment = 1
                });
                doc.Add(tbl1);
                doc.Add(new Phrase("\n"));
            }
            doc.Add(new Phrase("\n"));
            //Línea separadora
            Chunk linea = new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(1f, 100f, BaseColor.Black, Element.ALIGN_CENTER, 1f));

            doc.Add(linea);
            doc.Add(new Paragraph("REPORTE DE SOLICITUDES DE MANTENIMIENTO", parrafo)
            {
                Alignment = Element.ALIGN_CENTER
            });

            //Espacio en blanco
            doc.Add(Chunk.Newline);

            //Agregamos una tabla
            var tbl = new PdfPTable(new float[] { 25f, 30f, 50f })
            {
                WidthPercentage = 100f
            };
            var c1 = new PdfPCell(new Phrase("FOLIO", parrafo2));
            var c2 = new PdfPCell(new Phrase("FECHA DE SOLICITUD", parrafo2));
            var c3 = new PdfPCell(new Phrase("DESCRIPCIÓN", parrafo2));

            //Agregamos a la tabla las celdas
            tbl.AddCell(c1);
            tbl.AddCell(c2);
            tbl.AddCell(c3);

            //Extraemos de la base y llenamos las celdas
            using (BDAcaassAFContext bd = new BDAcaassAFContext())
            {
                IEnumerable <SolicitudMantenimientoPAF> lista = (from solicitud in bd.SolicitudMantenimiento
                                                                 where solicitud.Estado == 1

                                                                 select new SolicitudMantenimientoPAF
                {
                    idsolicitud = solicitud.IdSolicitud,
                    folio = solicitud.Folio,
                    descripcion = solicitud.Descripcion,
                    fechacadena = solicitud.Fecha == null ? " " : ((DateTime)solicitud.Fecha).ToString("dd-MM-yyyy")
                }).ToList();
                foreach (var solicitudmante in lista)
                {
                    c1.Phrase = new Phrase(solicitudmante.folio, parrafo5);
                    c2.Phrase = new Phrase(solicitudmante.fechacadena, parrafo5);
                    c3.Phrase = new Phrase(solicitudmante.descripcion, parrafo5);



                    //Agregamos a la tabla
                    tbl.AddCell(c1);
                    tbl.AddCell(c2);
                    tbl.AddCell(c3);
                }

                //INICIO DE ADICIÓN DE LOGO
                CooperativaAF oCooperativaAF = new CooperativaAF();

                Cooperativa oCooperativa = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First();
                oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa;


                try
                {
                    iTextSharp.text.Image logo = null;
                    logo             = iTextSharp.text.Image.GetInstance(oCooperativa.Logo.ToString());
                    logo.Alignment   = iTextSharp.text.Image.ALIGN_LEFT;
                    logo.Border      = iTextSharp.text.Rectangle.NO_BORDER;
                    logo.BorderColor = iTextSharp.text.BaseColor.White;
                    logo.ScaleToFit(170f, 100f);

                    float ancho      = logo.Width;
                    float alto       = logo.Height;
                    float proporcion = alto / ancho;

                    logo.ScaleAbsoluteWidth(80);
                    logo.ScaleAbsoluteHeight(80 * proporcion);

                    logo.SetAbsolutePosition(40f, 695f);

                    doc.Add(logo);
                }
                catch (DocumentException dex)
                {
                    //log exception here
                }

                //FIN DE ADICIÓN DE LOGO
            }
            doc.Add(tbl);
            writer.Close();
            doc.Close();
            ms.Seek(0, SeekOrigin.Begin);
            return(File(ms, "application/pdf"));
        }
Ejemplo n.º 9
0
        public async Task <IActionResult> activosDescargadosJefePdf(int idJefe)
        {
            Document doc = new Document(PageSize.Letter);

            doc.SetMargins(40f, 40f, 40f, 40f);
            MemoryStream ms     = new MemoryStream();
            PdfWriter    writer = PdfWriter.GetInstance(doc, ms);

            //Instanciamos la clase para el paginado y la fecha de impresión
            var pe = new PageEventHelper();

            writer.PageEvent = pe;

            doc.AddAuthor("Asgard");
            doc.AddTitle("Reporte de historial de descargos de activos asignados");
            doc.Open();

            //Inicia cuerpo del reporte

            //Estilo y fuente personalizada
            BaseFont fuente = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo = new iTextSharp.text.Font(fuente, 12f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente2 = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo2 = new iTextSharp.text.Font(fuente2, 10f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente3  = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo3 = new iTextSharp.text.Font(fuente3, 15f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente4  = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo4 = new iTextSharp.text.Font(fuente4, 11f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));

            //Para las celdas
            BaseFont fuente5 = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, true);

            iTextSharp.text.Font parrafo5 = new iTextSharp.text.Font(fuente5, 10f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));


            //Encabezado
            using (BDAcaassAFContext bd = new BDAcaassAFContext())
            {
                CooperativaAF oCooperativaAF = new CooperativaAF();
                Cooperativa   oCooperativa   = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First();
                oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa;
                oCooperativaAF.nombre        = oCooperativa.Nombre;
                oCooperativaAF.descripcion   = oCooperativa.Descripcion;

                //Se agrega el encabezado
                var tbl1 = new PdfPTable(new float[] { 11f, 89f })
                {
                    WidthPercentage = 100f
                };
                tbl1.AddCell(new PdfPCell(new Phrase(" ", parrafo2))
                {
                    Border = 0, Rowspan = 2
                });
                tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Descripcion.ToUpper(), parrafo2))
                {
                    Border = 0, HorizontalAlignment = 1
                });
                tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Nombre.ToUpper(), parrafo3))
                {
                    Border = 0, HorizontalAlignment = 1
                });
                doc.Add(tbl1);
                doc.Add(new Phrase("\n"));
            }
            doc.Add(new Phrase("\n"));
            //Línea separadora
            Chunk linea = new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(1f, 100f, BaseColor.Black, Element.ALIGN_CENTER, 1f));

            doc.Add(linea);
            doc.Add(new Paragraph("REPORTE DE HISTORIAL DE DESCARGOS DE ACTIVOS ASIGNADOS", parrafo)
            {
                Alignment = Element.ALIGN_CENTER
            });

            //Espacio en blanco
            doc.Add(Chunk.Newline);

            //Agregamos una tabla
            var tbl = new PdfPTable(new float[] { 30f, 35f, 40f, 40f, 30f })
            {
                WidthPercentage = 100f
            };
            var c1 = new PdfPCell(new Phrase("CORRELATIVO", parrafo2));
            var c2 = new PdfPCell(new Phrase("FECHA INGRESO", parrafo2));
            var c3 = new PdfPCell(new Phrase("DESCRIPCIÓN", parrafo2));
            var c4 = new PdfPCell(new Phrase("ÁREA DE NEGOCIOS", parrafo2));
            var c5 = new PdfPCell(new Phrase("RESPONSABLE", parrafo2));

            //Agregamos a la tabla las celdas
            tbl.AddCell(c1);
            tbl.AddCell(c2);
            tbl.AddCell(c3);
            tbl.AddCell(c4);
            tbl.AddCell(c5);

            //Extraemos de la base y llenamos las celdas
            using (BDAcaassAFContext bd = new BDAcaassAFContext())
            {
                Empleado      oempleado = bd.Empleado.Where(p => p.IdEmpleado == idJefe).FirstOrDefault();
                AreaDeNegocio oarea     = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oempleado.IdAreaDeNegocio).FirstOrDefault();
                List <BajaAF> lista     = (from activo in bd.ActivoFijo
                                           join noFormulario in bd.FormularioIngreso
                                           on activo.NoFormulario equals noFormulario.NoFormulario
                                           join resposable in bd.Empleado
                                           on activo.IdResponsable equals resposable.IdEmpleado
                                           join area in bd.AreaDeNegocio
                                           on resposable.IdAreaDeNegocio equals area.IdAreaNegocio
                                           join cargo in bd.Cargos
                                           on resposable.IdCargo equals cargo.IdCargo

                                           where activo.EstadoActual == 0 && activo.EstaAsignado == 1 && area.IdAreaNegocio == oarea.IdAreaNegocio
                                           orderby activo.CorrelativoBien
                                           select new BajaAF
                {
                    IdBien = activo.IdBien,
                    Codigo = activo.CorrelativoBien,
                    fechacadena = noFormulario.FechaIngreso == null ? " " : ((DateTime)noFormulario.FechaIngreso).ToString("dd-MM-yyyy"),
                    Desripcion = activo.Desripcion,
                    AreaDeNegocio = area.Nombre,
                    Resposnsable = resposable.Nombres + " " + resposable.Apellidos,
                    //cargo = cargo.Cargo,
                }).ToList();
                foreach (var activosbaja in lista)
                {
                    c1.Phrase = new Phrase(activosbaja.Codigo, parrafo5);
                    c2.Phrase = new Phrase(activosbaja.fechacadena, parrafo5);
                    c3.Phrase = new Phrase(activosbaja.Desripcion, parrafo5);
                    c4.Phrase = new Phrase(activosbaja.AreaDeNegocio, parrafo5);
                    c5.Phrase = new Phrase(activosbaja.Resposnsable, parrafo5);



                    //Agregamos a la tabla
                    tbl.AddCell(c1);
                    tbl.AddCell(c2);
                    tbl.AddCell(c3);
                    tbl.AddCell(c4);
                    tbl.AddCell(c5);
                }

                //INICIO DE ADICIÓN DE LOGO
                CooperativaAF oCooperativaAF = new CooperativaAF();

                Cooperativa oCooperativa = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First();
                oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa;


                try
                {
                    iTextSharp.text.Image logo = null;
                    logo             = iTextSharp.text.Image.GetInstance(oCooperativa.Logo.ToString());
                    logo.Alignment   = iTextSharp.text.Image.ALIGN_LEFT;
                    logo.Border      = iTextSharp.text.Rectangle.NO_BORDER;
                    logo.BorderColor = iTextSharp.text.BaseColor.White;
                    logo.ScaleToFit(170f, 100f);

                    float ancho      = logo.Width;
                    float alto       = logo.Height;
                    float proporcion = alto / ancho;

                    logo.ScaleAbsoluteWidth(80);
                    logo.ScaleAbsoluteHeight(80 * proporcion);

                    logo.SetAbsolutePosition(40f, 695f);

                    doc.Add(logo);
                }
                catch (DocumentException dex)
                {
                    //log exception here
                }

                //FIN DE ADICIÓN DE LOGO
            }
            doc.Add(tbl);
            writer.Close();
            doc.Close();
            ms.Seek(0, SeekOrigin.Begin);
            return(File(ms, "application/pdf"));
        }