public void CorrePlantilla1(string IdCliente, string archivo) { try { string CodigoCliente = AccesoDatos.RegresaCadena_1_ResultadoSql("Select cliente from CartasClientes where indice = " + IdCliente); Object oMissing = System.Reflection.Missing.Value; string carta = AccesoDatos.RegresaCadena_1_ResultadoSql("Select tipo_carta from CartasClientes where indice = " + IdCliente); try { Object oTemplatePath = Direccion(archivo, carta); RichEditDocumentServer wordDoc = new RichEditDocumentServer(); wordDoc.LoadDocument(oTemplatePath.ToString()); DocumentPosition pos = wordDoc.Document.CreatePosition(60); string CodigoImagen = AccesoDatos.RegresaCadena_1_ResultadoSql("Select codigo from CartasClientes where indice = " + IdCliente); Image DataImage = DevuelveImagen(CodigoImagen); string path = HttpContext.Current.Server.MapPath("~/Files/Copies/" + CodigoImagen + ".bmp"); DataImage.Save(path); wordDoc.Document.InsertImage(pos, DataImage); var input = ""; var format = "dddd, MMMM dd, yyyy"; string _poliza = ""; string parrafo1, parrafo2, parrafo3 = ""; string _tituloCarta = ""; System.Data.DataTable poliza = AccesoDatos.RegresaTablaSql("Select * from CartasClientes where indice = " + IdCliente); foreach (System.Data.DataRow rw in poliza.Rows) { DateTime FechaT = DateTime.Parse(rw["Fecha"].ToString()); string _Fecha = FechaT.ToString(format, new CultureInfo("es-ES")); //_Fecha = _Fecha.Substring(0, 1).ToUpper() + _Fecha.Substring(1, _Fecha.Length - 1); _Fecha = _Fecha.Replace("enero", "Enero").Replace("febrero", "Febrero").Replace("marzo", "Marzo").Replace("abril", "Abril").Replace("mayo", "Mayo").Replace("junio", "Junio").Replace("julio", "Julio").Replace("agosto", "Agosto").Replace("septiembre", "Septiembre").Replace("octubre", "Octubre").Replace("noviembre", "Noviembre").Replace("diciembre", "Diciembre"); _Fecha = _Fecha.Replace("lunes,", "").Replace("martes,", "").Replace("miercoles,", "").Replace("jueves,", "").Replace("viernes,", "").Replace("sabado,", "").Replace("domingo,", ""); _Fecha = "Guatemala, " + _Fecha + "."; wordDoc.Document.ReplaceAll("{Fecha}", _Fecha, SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Titulo}", rw["Titulo"].ToString(), SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{NombreCompleto}", rw["NombreCompleto"].ToString(), SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Nombre}", rw["NombreCompleto"].ToString(), SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Direccion}", rw["direccion"].ToString(), SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Apartado}", rw["Apartado"].ToString(), SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{PolizasEjecutivo}", rw["poliza"].ToString(), SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Asistente}", rw["asistente"].ToString(), SearchOptions.WholeWord); parrafo1 = rw["parrafo1"].ToString().Trim(); parrafo2 = rw["parrafo2"].ToString().Trim(); parrafo3 = rw["parrafo3"].ToString().Trim(); _tituloCarta = rw["TituloPagina"].ToString().Trim(); if (parrafo1 == "") { parrafo1 = AccesoDatos.RegresaCadena_1_ResultadoSql("Select ParrafoDefault1 from CartasClientes_Default where NombreCarta = '" + rw["tipo_carta"].ToString() + "'"); } if (parrafo2 == "") { parrafo2 = AccesoDatos.RegresaCadena_1_ResultadoSql("Select ParrafoDefault2 from CartasClientes_Default where NombreCarta = '" + rw["tipo_carta"].ToString() + "'"); } if (parrafo3 == "") { parrafo3 = AccesoDatos.RegresaCadena_1_ResultadoSql("Select ParrafoDefault3 from CartasClientes_Default where NombreCarta = '" + rw["tipo_carta"].ToString() + "'"); } if (_tituloCarta == "") { _tituloCarta = AccesoDatos.RegresaCadena_1_ResultadoSql("Select titulo from CartasClientes_Default where NombreCarta = '" + rw["tipo_carta"].ToString() + "'"); } wordDoc.Document.ReplaceAll("{TITULO CARTA}", _tituloCarta, SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Parrafo1}", parrafo1, SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Parrafo2}", parrafo2, SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Parrafo3}", parrafo3, SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{bien}", rw["bien"].ToString(), SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Poliza}", rw["poliza"].ToString(), SearchOptions.WholeWord); _poliza = rw["poliza"].ToString(); wordDoc.Document.ReplaceAll("{aseguradora}", rw["aseguradora"].ToString(), SearchOptions.WholeWord); string fechavence = rw["vence"].ToString(); if (fechavence.Length > 10) { wordDoc.Document.ReplaceAll("{vence}", rw["vence"].ToString().Substring(0, 10), SearchOptions.WholeWord); } else { wordDoc.Document.ReplaceAll("{vence}", fechavence, SearchOptions.WholeWord); } wordDoc.Document.ReplaceAll("{endoso}", rw["endoso"].ToString(), SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Requerimiento}", rw["requerimiento"].ToString(), SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{firma}", rw["firma"].ToString(), SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{correo}", rw["correo"].ToString(), SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{firma_administrativa}", rw["firma_administrativa"].ToString(), SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{correo_administrativa}", rw["correo_administrativa"].ToString(), SearchOptions.WholeWord); break; } wordDoc.Document.ReplaceAll("{Fecha}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Titulo}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{NombreCompleto}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Direccion}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Apartado}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{PolizasEjecutivo}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Asistente}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Parrafo1}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Parrafo2}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Parrafo3}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{bien}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{PolizasEjecutivo}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{aseguradora}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{vence}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{endoso}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Requerimiento}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{firma}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{correo}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{firma_administrativa}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{correo_administrativa}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Nombre}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{TITULO CARTA}", "", SearchOptions.WholeWord); wordDoc.Document.ReplaceAll("{Doc}", "Doc corr." + IdCliente, SearchOptions.WholeWord); if (carta == "Envío de Documentos") { int filas = Int32.Parse(AccesoDatos.RegresaCadena_1_ResultadoSql("select count(*) from asegurado where poliza = '" + _poliza + "'")); if (filas > 0) { TablaDoc(ref wordDoc, filas, _poliza); wordDoc.Document.ReplaceAll("{grilla}", "", SearchOptions.WholeWord); } else { wordDoc.Document.ReplaceAll("{grilla}", "No tiene asegurados.", SearchOptions.WholeWord); } } wordDoc.Document.Protect("UnitySecure"); wordDoc.SaveDocument(path.Replace(".bmp", ".docx"), DocumentFormat.OpenXml); wordDoc.Dispose(); DataImage.Dispose(); System.GC.Collect(); } catch (Exception es) { Helper.RegistrarEvento("Cargando el documento : " + es.Message); } } catch (Exception ex) { Helper.RegistrarEvento(ex.Message); } }
public override void Dispose() { base.Dispose(); RichEditDocumentServer?.Dispose(); }