示例#1
0
        public IEnumerable <RESERVA> buscarReservaPDF(DateTime filtro)
        {
            IEnumerable <RESERVA> listaReserva    = null;
            ServiceReserva        _serviceReserva = new ServiceReserva();

            if (filtro == null)
            {
                listaReserva = _serviceReserva.GetReservaAdmin();
            }
            else
            {
                listaReserva = _serviceReserva.GetReservaEntradasSalidas(filtro);
            }

            return(listaReserva);
        }
示例#2
0
        public ActionResult buscarReserva(DateTime filtro)
        {
            IEnumerable <RESERVA> listaReserva    = null;
            ServiceReserva        _serviceReserva = new ServiceReserva();

            if (filtro == null)
            {
                listaReserva = _serviceReserva.GetReservaAdmin();
            }
            else
            {
                listaReserva         = _serviceReserva.GetReservaEntradasSalidas(filtro);
                ViewBag.fechaReserva = filtro;
            }

            return(PartialView("_PartialViewReservasEntradasSalidas", listaReserva));
        }
示例#3
0
        public ActionResult CreatePdfReporte(DateTime fecha)
        {
            //Ejemplos IText7 https://kb.itextpdf.com/home/it7kb/examples
            IEnumerable <RESERVA> lista = null;

            try
            {
                // Extraer informacion
                ServiceReserva _serviceReserva = new ServiceReserva();
                lista = _serviceReserva.GetReservaEntradasSalidas(fecha);

                // Crear stream para almacenar en memoria el reporte
                MemoryStream ms = new MemoryStream();
                //Initialize writer
                PdfWriter writer = new PdfWriter(ms);

                //Initialize document
                PdfDocument pdfDoc = new PdfDocument(writer);
                Document    doc    = new Document(pdfDoc);

                Paragraph header = new Paragraph("Historial de Reservas")
                                   .SetFont(PdfFontFactory.CreateFont(StandardFonts.HELVETICA))
                                   .SetFontSize(14)
                                   .SetFontColor(ColorConstants.BLUE);
                doc.Add(header);


                // Crear tabla con 5 columnas
                Table table = new Table(10, true);


                // los Encabezados
                table.AddHeaderCell("Cliente");
                table.AddHeaderCell("Departamento");
                table.AddHeaderCell("Fecha de Reservación");
                table.AddHeaderCell("Fin de Reservación");
                table.AddHeaderCell("Medio de pago");
                table.AddHeaderCell("N° Tarjeta");
                table.AddHeaderCell("Cantidad de personas");
                table.AddHeaderCell("Subtotal");
                table.AddHeaderCell("Impuesto");
                table.AddHeaderCell("Total");


                foreach (var item in lista)
                {
                    // Agregar datos a las celdas
                    table.AddCell(new Paragraph(item.USUARIO.Nombre));
                    table.AddCell(new Paragraph(item.DEPARTAMENTO.Nombre));
                    table.AddCell(new Paragraph(item.FechaReserva.ToString()));
                    table.AddCell(new Paragraph(item.FechaFinReserva.ToString()));
                    table.AddCell(new Paragraph(item.TIPOPAGO.Nombre));
                    table.AddCell(new Paragraph(item.NumeroTarjeta));
                    table.AddCell(new Paragraph(item.CantPersonas.ToString()));
                    table.AddCell(new Paragraph(item.SubTotal.ToString()));
                    table.AddCell(new Paragraph(item.Impuesto.ToString()));
                    table.AddCell(new Paragraph(item.Total.ToString()));
                }
                doc.Add(table);



                // Colocar número de páginas
                int numberOfPages = pdfDoc.GetNumberOfPages();
                for (int i = 1; i <= numberOfPages; i++)
                {
                    // Write aligned text to the specified by parameters point
                    doc.ShowTextAligned(new Paragraph(String.Format("pag {0} of {1}", i, numberOfPages)),
                                        559, 826, i, TextAlignment.RIGHT, VerticalAlignment.TOP, 0);
                }


                //Close document
                doc.Close();
                // Retorna un File
                return(File(ms.ToArray(), "application/pdf", "reporte.pdf"));
            }
            catch (Exception ex)
            {
                // Salvar el error en un archivo
                Log.Error(ex, MethodBase.GetCurrentMethod());
                TempData["Message"] = "Error al procesar los datos! " + ex.Message;
                TempData.Keep();
                // Redireccion a la captura del Error
                return(RedirectToAction("Default", "Error"));
            }
        }