Beispiel #1
0
        // ====================================================================================================


        // ====================================================================================================
        #region MÉTODOS PÚBLICOS EXCEL
        // ====================================================================================================

        /// <summary>
        /// Devuelve un archivo de Excel en blanco o con la plantilla indicada.
        /// </summary>
        public Workbook GetArchivoExcel(TiposInforme tipo = TiposInforme.Ninguno)
        {
            // Definimos el libro que se va a devolver.
            Workbook libro = null;

            if (tipo == TiposInforme.Ninguno)
            {
                // Si no hay una plantilla, creamos un archivo Excel en blanco.
                libro = ExcelApp.Workbooks.Add();
            }
            else
            {
                // Si hay una plantilla creamos un archivo Excel desde la plantilla.
                string ruta = Utils.CombinarCarpetas(App.RutaInicial, $"/Plantillas/{tipo}.xlsx");
                libro = ExcelApp.Workbooks.Add(ruta);
            }
            // Devolvemos el libro.
            return(libro);
        }
Beispiel #2
0
 /// <summary>
 /// Devuelve un PDF que se guardará en la ruta indicada, a partir de la plantilla necesaria para el tipo de informe indicado.
 /// </summary>
 /// <param name="ruta">Ruta completa (nombre de archivo incluido) en la que se guardará el PDF.</param>
 /// <param name="tipo">Tipo de informe que se va a generar.</param>
 /// <returns>El PDF listo para editar sus elementos.</returns>
 public iText.Kernel.Pdf.PdfDocument GetPdfDesdePlantilla(string ruta, TiposInforme tipo = TiposInforme.Ninguno)
 {
     // Definimos el pdf que se va a devolver.
     iText.Kernel.Pdf.PdfDocument docPdf = null;
     // Si hay un tipo de informe creamos el pdf.
     if (tipo != TiposInforme.Ninguno)
     {
         // Definimos la plantilla
         string plantilla = Utils.CombinarCarpetas(App.RutaInicial, $"/Plantillas/{tipo}.pdf");
         // Se crea el Reader con la plantilla necesaria.
         iText.Kernel.Pdf.PdfReader reader = new iText.Kernel.Pdf.PdfReader(plantilla);
         // Se crea el Writer con la ruta pasada.
         iText.Kernel.Pdf.PdfWriter writer = new iText.Kernel.Pdf.PdfWriter(ruta);
         // Creamos el documento, usando el reader y el writer anteriores.
         docPdf = new iText.Kernel.Pdf.PdfDocument(reader, writer);
         // Añadimos los datos de Metadata
         docPdf.GetDocumentInfo().SetAuthor("Orion - AnderSoft - A.Herrero");
         docPdf.GetDocumentInfo().SetCreator("Orion 1.0");
     }
     // Devolvemos el documento.
     return(docPdf);
 }
Beispiel #3
0
        // ====================================================================================================
        #region MÉTODOS PÚBLICOS COMUNES
        // ====================================================================================================

        /// <summary>
        /// Muestra un cuadro de diálogo pidiendo la ruta para un archivo y devuelve la ruta.
        /// </summary>
        public string GetRutaArchivo(TiposInforme tipo, string nombreArchivo, bool crearInformeDirectamente, string rutaConductor = "")
        {
            string resultado   = "";
            string rutaparcial = "";
            string ruta        = "";

            switch (tipo)
            {
            case TiposInforme.Graficos:
                ruta = Path.Combine(App.Global.Configuracion.CarpetaInformes, "Graficos\\Tablas");
                break;

            case TiposInforme.GraficoIndividual:
                ruta = Path.Combine(App.Global.Configuracion.CarpetaInformes, "Graficos\\Individuales");
                break;

            case TiposInforme.Calendarios:
                ruta = Path.Combine(App.Global.Configuracion.CarpetaInformes, "Calendarios\\Tablas");
                break;

            case TiposInforme.FallosCalendarios:
                ruta = Path.Combine(App.Global.Configuracion.CarpetaInformes, "Calendarios\\Fallos");
                break;

            case TiposInforme.EstadisticasGraficos:
            case TiposInforme.EstadisticasGraficosPorCentros:
                ruta = Path.Combine(App.Global.Configuracion.CarpetaInformes, "Graficos\\Estadisticas");
                break;

            case TiposInforme.Pijama:
                rutaparcial = "Calendarios\\Pijamas";
                if (rutaConductor.Trim() != "")
                {
                    rutaparcial = "Conductores\\" + rutaConductor.Trim() + "\\Pijamas";
                }
                ruta = Path.Combine(App.Global.Configuracion.CarpetaInformes, rutaparcial);
                break;

            case TiposInforme.Reclamacion:
                rutaparcial = "Reclamaciones";
                if (rutaConductor.Trim() != "")
                {
                    rutaparcial = "Conductores\\" + rutaConductor.Trim() + "\\Reclamaciones";
                }
                ruta = Path.Combine(App.Global.Configuracion.CarpetaInformes, rutaparcial);
                break;

            case TiposInforme.EstadisticasCalendarios:
                ruta = Path.Combine(App.Global.Configuracion.CarpetaInformes, "Calendarios\\Estadisticas");
                break;
            }
            if (ruta != "")
            {
                if (!Directory.Exists(ruta))
                {
                    Directory.CreateDirectory(ruta);
                }
                if (crearInformeDirectamente)
                {
                    resultado = Path.Combine(ruta, nombreArchivo);
                }
                else
                {
                    SaveFileDialog dialogo = new SaveFileDialog();
                    dialogo.Filter           = "Archivos PDF|*.pdf|Todos los archivos|*.*";
                    dialogo.FileName         = nombreArchivo;
                    dialogo.InitialDirectory = ruta;
                    dialogo.OverwritePrompt  = true;
                    dialogo.Title            = "Guardar Informe";
                    if (dialogo.ShowDialog() == true)
                    {
                        resultado = dialogo.FileName;
                    }
                }
            }
            return(resultado);
        }