// ==================================================================================================== // ==================================================================================================== #region MÉTODOS PÚBLICOS // ==================================================================================================== // public string GetCadenaConexion(Centros centro) { // // Si no se ha establecido el centro, devolvemos null. // if (centro == Centros.Desconocido) return null; // // Definimos el archivo de base de datos // string archivo = Utils.CombinarCarpetas(Configuracion.CarpetaDatos, centro.ToString() + ".accdb"); // // Si no existe el archivo, devolvemos null // if (!File.Exists(archivo)) return null; // // Establecemos la cadena de conexión // string cadenaConexion = "Provider=Microsoft.ACE.OLEDB.12.0;Persist Security Info=False;"; // cadenaConexion += "Data Source=" + archivo + ";"; // // Devolvemos la cadena de conexión. // return cadenaConexion; //} public string GetCadenaConexion(Centros centro) { // Si no se ha establecido el centro, devolvemos null. if (centro == Centros.Desconocido) { return(null); } // Definimos el archivo de base de datos string archivo = Utils.CombinarCarpetas(Configuracion.CarpetaDatos, centro.ToString() + ".accdb"); // Si no existe el archivo, devolvemos null if (!File.Exists(archivo)) { return(null); } // Establecemos la cadena de conexión OleDbConnectionStringBuilder cadenaConexionB = new OleDbConnectionStringBuilder { DataSource = archivo, Provider = "Microsoft.ACE.OLEDB.12.0", PersistSecurityInfo = false }; string cadenaConexion = cadenaConexionB.ToString(); // Devolvemos la cadena de conexión. return(cadenaConexion); }
// ==================================================================================================== // ==================================================================================================== #region MÉTODOS PÚBLICOS RECLAMACIONES // ==================================================================================================== public void GenerarReclamación(Centros centro, Conductor conductor, DateTime fecha, string ruta) { // Creamos el lector del documento. string rutaPlantilla = Utils.CombinarCarpetas(App.RutaInicial, $"/Plantillas/Reclamacion.pdf"); iTextSharp.text.pdf.PdfReader reader = new iTextSharp.text.pdf.PdfReader(rutaPlantilla); // Creamos el 'modificador' del documento. FileStream fs = new FileStream(ruta, FileMode.Create); iTextSharp.text.pdf.PdfStamper stamper = new iTextSharp.text.pdf.PdfStamper(reader, fs); // Extraemos los campos del documento. iTextSharp.text.pdf.AcroFields campos = stamper.AcroFields; // Asignamos los campos campos.SetField("Centro", centro.ToString().ToUpper()); campos.SetField("Trabajador", $"{conductor.Apellidos}, {conductor.Nombre} ({conductor.Id:000})"); campos.SetField("FechaCabecera", $"{fecha:MMMM - yyyy}".ToUpper()); campos.SetField("NumeroReclamacion", $"Nº Reclamación: {fecha:yyyyMM}{conductor.Id:000}/01"); campos.SetField("FechaFirma", $"{DateTime.Today:dd - MM - yyyy}"); // Cerramos los elementos abiertos stamper.Close(); fs.Close(); reader.Close(); }
public static async Task GenerarReclamacion(Centros centro, Conductor conductor, DateTime fecha, PdfDocument docPdf) { await Task.Run(() => { // Extraemos los campos del formulario que contiene el PDF. PdfAcroForm formulario = PdfAcroForm.GetAcroForm(docPdf, true); IDictionary <String, PdfFormField> campos = formulario.GetFormFields(); // Creamos la fuente a usar. PdfFont fuente = PdfFontFactory.CreateFont(StandardFonts.HELVETICA); // Definimos el campo a usar en Try. PdfFormField campo; // Centro if (campos.TryGetValue("Centro", out campo)) { campo.SetValue(centro.ToString().ToUpper(), fuente, 16); } // Trabajador if (campos.TryGetValue("Trabajador", out campo)) { campo.SetValue($"{conductor.Apellidos}, {conductor.Nombre} ({conductor.Id:000})", fuente, 16); } // FechaCabecera if (campos.TryGetValue("FechaCabecera", out campo)) { campo.SetValue($"{fecha:MMMM - yyyy}".ToUpper(), fuente, 16); } // NumeroReclamacion if (campos.TryGetValue("NumeroReclamacion", out campo)) { campo.SetValue($"Nº Reclamación: {fecha:yyyyMM}{conductor.Id:000}/01", fuente, 12); } // FechaFirma if (campos.TryGetValue("FechaFirma", out campo)) { campo.SetValue($"{DateTime.Today:dd - MM - yyyy}", fuente, 16); } }); }