コード例 #1
0
 public IEnumerable <NacimientoItem> GetNacimientos(NacimientoFilter filter)
 {
     try
     {
         connection = new SqlServerConnection();
         var parametros = new Dictionary <string, object>
         {
             { "@fechaDesde", filter.fechaDesde },
             { "@fechaHasta", filter.fechaHasta },
             { "@codigoCampo", filter.codigoCampo },
             { "@periodo", filter.periodo }
         };
         if (filter.numCaravanaMadre != 0)
         {
             parametros.Add("@numCaravanaMadre", filter.numCaravanaMadre.ToString());
         }
         if (filter.numCaravanaPadre != 0)
         {
             parametros.Add("@numCaravanaPadre", filter.numCaravanaPadre.ToString());
         }
         var lista = connection.GetArray <NacimientoItem>("spObtenerListaNacimientos", parametros, System.Data.CommandType.StoredProcedure);
         return(lista.ToList());
     }
     catch (Exception ex)
     {
         throw;
     }
     finally
     {
         connection.Close();
         connection = null;
     }
 }
コード例 #2
0
        public Documento NacimientosExportarExcel(NacimientoFilter filter)
        {
            SLExcelData data = new SLExcelData();

            try
            {
                data.HeadersFiltro = new List <string>();
                data.HeadersFiltro.Add("Caravana Madre");
                data.HeadersFiltro.Add("Caravana Padre");
                data.HeadersFiltro.Add("Fecha desde");
                data.HeadersFiltro.Add("Fecha hasta");

                List <string> rowFiltro = new List <string>();
                if (filter.numCaravanaMadre != 0)
                {
                    rowFiltro.Add(filter.numCaravanaMadre.ToString());
                }
                else
                {
                    rowFiltro.Add("Sin datos");
                }
                if (filter.numCaravanaPadre != 0)
                {
                    rowFiltro.Add(filter.numCaravanaPadre.ToString());
                }
                else
                {
                    rowFiltro.Add("Sin datos");
                }
                if (filter.fechaDesde != null)
                {
                    rowFiltro.Add(filter.fechaDesde);
                }
                else
                {
                    rowFiltro.Add("Sin datos");
                }
                if (filter.fechaHasta != null)
                {
                    rowFiltro.Add(filter.fechaHasta);
                }
                else
                {
                    rowFiltro.Add("Sin datos");
                }
                data.DataRowsFiltro = new List <List <string> >();
                data.DataRowsFiltro.Add(rowFiltro);

                var lista = GetNacimientos(filter);
                data.Headers.Add("Caravana Madre");
                data.Headers.Add("Caravana Padre");
                data.Headers.Add("Fecha Nacimiento");

                foreach (var item in lista)
                {
                    List <string> row = new List <string>()
                    {
                        item.numCaravanaMadre,
                        item.numCaravanaPadre,
                        item.fechaNacimiento
                    };
                    data.DataRows.Add(row);
                }
                var archivo = StaticFunctions.GenerateExcel(data, "Nacimientos", filter.campo, filter.usuario, filter.periodo);
                return(new Documento()
                {
                    nombre = archivo
                });
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
            }
        }
コード例 #3
0
        public Documento NacimientosExportarPDF(NacimientoFilter filter)
        {
            FileStream fs;
            Document   doc = null;
            PdfWriter  writer;

            try
            {
                doc = new Document();
                // Verifico el directorio
                string filePath = System.IO.Path.Combine(HttpRuntime.AppDomainAppPath, "Archivos\\");
                if (!Directory.Exists(filePath))
                {
                    Directory.CreateDirectory(filePath);
                }

                var fecha = DateTime.Now.ToString("dd-MM-yyyyHHmm");
                // Nombre del archivo
                string fileName = string.Format("{0}-{1}-{2}.pdf", "Nacimientos", filter.campo, fecha);
                // Generación del PDF
                fs = new FileStream(System.IO.Path.Combine(filePath, fileName), FileMode.Create, FileAccess.Write, FileShare.None);

                writer = PdfWriter.GetInstance(doc, fs);
                doc.Open();
                string pathImg1 = System.IO.Path.Combine(HttpRuntime.AppDomainAppPath, "Archivos\\logo_farmix.jpg");
                Image  image1;
                if (Image.GetInstance(pathImg1) != null)
                {
                    image1 = Image.GetInstance(pathImg1);
                    image1.ScalePercent(24F);
                    image1.Alignment = Element.ALIGN_CENTER;
                    doc.Add(image1);
                }
                //añadimos linea negra abajo de las imagenes para separar.
                doc.Add(new Paragraph(new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(2.0F, 100.0F, BaseColor.BLACK, Element.ALIGN_LEFT, 1))));
                doc.Add(new Paragraph(" "));
                //Inicio datos
                var             lista   = GetNacimientos(filter);
                Font            fuente1 = new Font(FontFamily.TIMES_ROMAN, 12.0f, Font.BOLD, BaseColor.BLACK);
                Font            fuente2 = new Font(FontFamily.TIMES_ROMAN, 14.0f, Font.BOLD, BaseColor.BLACK);
                Rectangle       rect    = PageSize.LETTER;
                List <IElement> ie;
                float           pageWidth = rect.Width;
                string          html      = "";
                fecha = DateTime.Now.ToString("dd-MM-yyyy HH:mm");
                html  = @"
                            <html><head></head><body>
                            <table>
                            <tr><td><b>Nacimientos</b></td></tr>
                            <tr><td>Campo: <b>" + filter.campo + @"</b></td></tr>
                            <tr><td>Generado por: <b>" + filter.usuario + @"</b></td></tr>
                            <tr><td>Fecha: <b>" + fecha + @"</b></td></tr>
                            <tr><td>Período: <b>" + filter.periodo + @"</b></td></tr>                    
                            </table>
                            </body></html>";
                ie    = HTMLWorker.ParseToList(new StringReader(html), null);
                foreach (IElement element in ie)
                {
                    PdfPTable table1 = element as PdfPTable;

                    if (table1 != null)
                    {
                        table1.SetWidthPercentage(new float[] { (float)1 * pageWidth }, rect);
                    }
                    doc.Add(element);
                }
                doc.Add(new Paragraph(" "));
                if (lista.Count() > 0)
                {
                    string caravanaMadre, caravanaPadre;
                    if (filter.numCaravanaMadre == 0)
                    {
                        caravanaMadre = "Sin filtro";
                    }
                    else
                    {
                        caravanaMadre = filter.numCaravanaMadre.ToString();
                    }
                    if (filter.numCaravanaPadre == 0)
                    {
                        caravanaPadre = "Sin filtro";
                    }
                    else
                    {
                        caravanaPadre = filter.numCaravanaPadre.ToString();
                    }
                    html = @"
                            <html><head></head><body>
                            <table>
                            <tr><td><b>Filtro Aplicado</b></td><td></td><td></td><td></td></tr>                
                            </table>
                            <table border='1'>
                            <thead>
                            <tr>
                            <th>Caravana Madre</th>
                            <th>Caravana Padre</th>       
                            <th>Fecha Desde</th>    
                            <th>Fecha Hasta</th>           
                            </tr>               
                            </thead>
                            <tbody>
                            <tr><td>" + caravanaMadre + @"</td><td>" + caravanaPadre + @"</td><td>" + (filter.fechaDesde == null ? "Sin filtro" : filter.fechaDesde) + @"</td><td>" + (filter.fechaHasta == null ? "Sin filtro" : filter.fechaHasta) + @"</td><td></tr>
                            </tbody></table></body></html>";
                    ie   = HTMLWorker.ParseToList(new StringReader(html), null);
                    foreach (IElement element in ie)
                    {
                        PdfPTable table = element as PdfPTable;

                        if (table != null)
                        {
                            table.SetWidthPercentage(new float[] { (float).2 * pageWidth, (float).2 * pageWidth, (float).2 * pageWidth, (float).2 * pageWidth }, rect);
                        }
                        doc.Add(element);
                    }
                    doc.Add(new Paragraph(" "));
                    html = @"
                            <html><head></head><body>
                            <table border='1'>
                            <thead>
                            <tr>
                            <th>Caravana Madre</th>
                            <th>Caravana Padre</th>       
                            <th>Fecha Nacimiento</th>              
                            </tr>               
                            </thead>
                            <tbody>";
                    foreach (var item in lista)
                    {
                        html += @"<tr><td>" + (item.numCaravanaMadre == "" ? "Sin datos" : item.numCaravanaMadre) + @"</td><td>" + (item.numCaravanaPadre == "" ? "Sin datos" : item.numCaravanaPadre) + @"</td><td>" + item.fechaNacimiento + @"</td></tr>";
                    }
                    html += @"</tbody></table>
                            </body></html> ";
                    ie    = HTMLWorker.ParseToList(new StringReader(html), null);
                    foreach (IElement element in ie)
                    {
                        PdfPTable table = element as PdfPTable;

                        if (table != null)
                        {
                            table.SetWidthPercentage(new float[] { (float).2 * pageWidth, (float).2 * pageWidth, (float).2 * pageWidth }, rect);
                        }
                        doc.Add(element);
                    }
                }
                doc.Close();
                return(new Documento()
                {
                    nombre = fileName
                });
            }
            catch (Exception ex)
            {
                doc.Close();
                throw ex;
            }
            finally
            {
                fs     = null;
                doc    = null;
                writer = null;
            }
        }