예제 #1
0
    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);
        }
    }
예제 #2
0
 public override void Dispose()
 {
     base.Dispose();
     RichEditDocumentServer?.Dispose();
 }