private void CargaReferenciales() { ReaderPath objReader = new ReaderPath(); // ruta del archivo fuente de datos if (this.RutaXmlFuente.Length == 0 && this.IdRutaXmlFuente.Length == 0) { this.listaArchivosFuente = objReader.getRutaXmlSalida(); this.RutaXmlFuente = this.listaArchivosFuente["1"]; // Se inicializa la primera ocurrencia de archivo this.IdRutaXmlFuente = "1"; } if (!File.Exists(this.RutaXmlFuente)) { MessageBox.Show(String.Format("El archivo fuente Xml {0} no existe. Debe verificar la configuración de rutas", this.RutaXmlFuente), "Error en lectura", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // Construyo menu // Ruta de salida del archivo PDF this.RutaSalidaCertificados = objReader.getRutaGeneracionCertificados(); if (string.IsNullOrWhiteSpace(this.RutaSalidaCertificados)) { MessageBox.Show(String.Format("La ruta de salida de certificados no esta configurada.")); return; } //Creacion de carpeta de salida if (!Directory.Exists(this.RutaSalidaCertificados)) { Directory.CreateDirectory(this.RutaSalidaCertificados); } if (!File.Exists(this.rutaXmlCLiente)) { MessageBox.Show(String.Format("El archivo fuente Xml de clientes {0} no existe.", this.rutaXmlCLiente)); return; } else { xDocCliente = new XmlDocument(); xDocCliente.Load(rutaXmlCLiente); } }
/// <summary> /// Permit le generacion del documento y llamado a componentes /// </summary> private void PdfGenerator() { // Extraemos el Id del Cliente var ItemSelected = cmb_especificacion_cliente.SelectedItem; string IdCliente = ((ListItemCombo)ItemSelected).Value; string TextNombreEspecificacion = ((ListItemCombo)ItemSelected).Text; // Obtenemos informacion del cliente DataTable especficacionCliente = _repository.GetInfoClientesById(IdCliente); String LoteAnalizado = dataGridVisor.CurrentRow.Cells["Lote"].Value.ToString(); DataTable TablaAnalisQuimico = this.GetInfoTablaAnalisis(dataGridVisor.CurrentRow, especficacionCliente); ReaderPath objReader = new ReaderPath(); this.RutaSalidaCertificados = objReader.getRutaGeneracionCertificados(); FileGenerator objGenerator = new FileGenerator(this.RutaSalidaCertificados, LoteAnalizado); try { Cursor = Cursors.WaitCursor; //objGenerator.setData(); if (this.IdRutaXmlFuente == "1") // Solo aplica para base de datos de puros { TextNombreEspecificacion = "súper Puro"; } objGenerator.ToMake(TablaAnalisQuimico, TextNombreEspecificacion); } catch (Exception exc) { MessageBox.Show(String.Format("Error: {0}", exc.Message), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); addlog(exc.ToString() + exc.Message); return; throw; } finally { Cursor = Cursors.Arrow; } // open generated pdf try { System.Diagnostics.Process.Start(objGenerator.RutaSalidaArchivosPDF); } catch (Exception exc) { MessageBox.Show("No se puede abrir el PDF , instale un software para visualizar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); addlog(exc.ToString() + exc.Message); } /// Si la opcion de enviar correo esta habilitada if (chk_send_email.Checked) { List <String> archivoAdjuntos = new List <string> { objGenerator.RutaSalidaArchivosPDF }; try { MailManager mailManager = new MailManager { ArchivosAdjunto = archivoAdjuntos }; mailManager.SendMail(); } catch (Exception exc) { MessageBox.Show("Ha ocurrido un error al enviar el correo, revise configuración de servidor"); addlog(exc.ToString() + exc.Message); } } }