Ejemplo n.º 1
0
        //llenado de Combo Catalogo de BD Local
        private Boolean PoblarDropDownTemasCptoValorResp()
        {
            Boolean             Ok = false;
            List <TemaConcepto> ListTemaCptos;

            try
            {
                ListTemaCptos = new NG_Catalogos().ObtenerTemaCptos();
                this.DropDownListTipoOpinion.DataSource     = ListTemaCptos;
                this.DropDownListTipoOpinion.DataValueField = "IdTema";
                this.DropDownListTipoOpinion.DataTextField  = "DescripcionTema";
                this.DropDownListTipoOpinion.DataBind();
                Ok = true;
            }
            catch (Exception ex)
            {
                Msj = "Ha ocurrido un error al recuperar la lista de temas-concepto. Contacta al área de sistemas.";
                this.LabelInfo.Text = "<div class='alert alert-danger'><strong> Error </strong>" + Msj + "</div>";
                MostrarMensajeJavaScript(Msj);

                BitacoraExcepcion BitacoraExcepcionAplictivo = new BitacoraExcepcion
                {
                    CadenaconexionBD = System.Configuration.ConfigurationManager.ConnectionStrings["cnArrendamientoInmueble"].ConnectionString,
                    Aplicacion       = "ContratosArrto",
                    Modulo           = MethodInfo.GetCurrentMethod().DeclaringType.ToString() + ".aspx",
                    Funcion          = MethodBase.GetCurrentMethod().Name + "()",
                    DescExcepcion    = ex.InnerException == null ? ex.Message : ex.InnerException.Message,
                    Usr = ((SSO)Session["Contexto"]).UserName.ToString()
                };
                BitacoraExcepcionAplictivo.RegistrarBitacoraExcepcion();
                BitacoraExcepcionAplictivo = null;
                Ok = false;
            }
            return(Ok);
        }
        //llenado de Combo Catalogo de BD Local. (nac, extr u otras fig)
        private Boolean PoblarDropDownTipoContrato()
        {
            Boolean             Ok = false;
            List <TipoContrato> ListTipoContrato;

            try
            {
                ListTipoContrato = new NG_Catalogos().ObtenerTipoContrato();
                this.DropDownListTipoContrato.DataSource     = ListTipoContrato;
                this.DropDownListTipoContrato.DataValueField = "IdTipoContrato";
                this.DropDownListTipoContrato.DataTextField  = "DescripcionTipoContrato";
                this.DropDownListTipoContrato.DataBind();
                //agregar un elemento para reprsentar que no se ha seleccionado un valor
                this.DropDownListTipoContrato.Items.Add("--");
                this.DropDownListTipoContrato.Items.FindByText("--").Selected = true;

                Ok = true;
            }
            catch (Exception ex)
            {
                //msj al usuario

                Msj = ex.InnerException == null ? ex.Message : ex.InnerException.Message;
                this.LabelInfo.Text = "<div class='alert alert-danger'><strong> Error </strong>" + Msj + "</div>";
                MostrarMensajeJavaScript(Msj);
            }
            return(Ok);
        }
Ejemplo n.º 3
0
        private Boolean PoblarDropDownTipoContrato()
        {
            Boolean             Ok = false;
            List <TipoContrato> ListTipoContrato;

            try
            {
                ListTipoContrato = new NG_Catalogos().ObtenerTipoContrato();
                this.DropDownListTipoContrato.DataSource     = ListTipoContrato;
                this.DropDownListTipoContrato.DataValueField = "IdTipoContrato";
                this.DropDownListTipoContrato.DataTextField  = "DescripcionTipoContrato";
                this.DropDownListTipoContrato.DataBind();
                //agregar un elemento para reprsentar que no se ha seleccionado un valor
                this.DropDownListTipoContrato.Items.Add("--");
                this.DropDownListTipoContrato.Items.FindByText("--").Selected = true;

                Ok = true;
            }
            catch (Exception ex)
            {
                Msj = "Ha ocurrido un error al recuperar la lista de tipo de contrato. Contacta al área de sistemas.";
                this.LabelInfo.Text       = "<div class='alert alert-danger'><strong> Error </strong>" + Msj + "</div>";
                this.LabelInfoResult.Text = this.LabelInfo.Text;
                MostrarMensajeJavaScript(Msj);

                BitacoraExcepcion BitacoraExcepcionAplictivo = new BitacoraExcepcion
                {
                    CadenaconexionBD = System.Configuration.ConfigurationManager.ConnectionStrings["cnArrendamientoInmueble"].ConnectionString,
                    Aplicacion       = "ContratosArrto",
                    Modulo           = MethodInfo.GetCurrentMethod().DeclaringType.ToString() + ".aspx",
                    Funcion          = MethodBase.GetCurrentMethod().Name + "()",
                    DescExcepcion    = ex.InnerException == null ? ex.Message : ex.InnerException.Message,
                    Usr = ((SSO)Session["Contexto"]).UserName.ToString()
                };
                BitacoraExcepcionAplictivo.RegistrarBitacoraExcepcion();
                BitacoraExcepcionAplictivo = null;
            }
            return(Ok);
        }
        //lledado de Combo Catalogo
        private Boolean PoblarDropDownTemasCptoValorResp()
        {
            Boolean             Ok            = false;
            List <TemaConcepto> ListTemaCptos = new List <TemaConcepto>();

            try
            {
                ListTemaCptos = new NG_Catalogos().ObtenerTemaCptos();
                this.DropDownListTipoArrto.DataSource     = ListTemaCptos;
                this.DropDownListTipoArrto.DataValueField = "IdTema";
                this.DropDownListTipoArrto.DataTextField  = "DescripcionTema";
                this.DropDownListTipoArrto.DataBind();


                Ok = true;
            }
            catch (Exception ex)
            {
                //msj al usuario
                this.LabelInfo.Text = ex.Message;
            }
            return(Ok);
        }
        public static Respuesta ObtenerAcuseConvenio(string folioConvenio)
        {
            Respuesta        Respuesta     = new Respuesta();
            Convenio         Convenio      = new Convenio();
            NG_ContratoArrto nContrato     = new NG_ContratoArrto();
            string           msjError      = string.Empty;
            AcuseContrato    AcuseContrato = new AcuseContrato();
            NG_Catalogos     nCatalogo     = new NG_Catalogos();
            string           HTML          = string.Empty;

            Utilerias.ExportHTML exportHTML = new Utilerias.ExportHTML();

            try
            {
                Convenio = nContrato.ObtenerConvenioModificatorio(folioConvenio, ref msjError);

                if (Convenio.IdConvenio == 0)
                {
                    if (msjError.Length == 0)
                    {
                        msjError = "Hubo un problema al obtener el convenio modificatorio. Favor de contactar a tu administrador";
                    }

                    Respuesta.respuesta = false;
                    Respuesta.Mensaje   = msjError;
                    return(Respuesta);
                }
                string ruta = ConfigurationManager.AppSettings["RutaDocsAdjuntosEscritura"] + folioConvenio + "\\AcuseConvenio\\";

                ModeloNegocios.InmuebleArrto objInmuebleArrto = new NG_InmuebleArrto().ObtenerInmuebleArrto(Convenio.IdInmueble);

                Parametro parametro = nCatalogo.ObtenerParametroNombre("PlantillaConvenioModificatorio");
                HTML = parametro.ValorParametro;

                Parametro ParametroQR = nCatalogo.ObtenerParametroNombre("LeyendaQR");
                AcuseContrato = nContrato.ObtenerAcuseContrato(Convenio.FolioContrato);

                string cuerpoTabla = string.Empty;

                if (Convenio.FechaTermino != null)
                {
                    cuerpoTabla += "<tr font-family: Montserrat'><td><strong>Prorroga de vigencia:</strong> " + Convenio.descFechaTermino + "</td></tr>";
                }

                if (Convenio.SupM2 != null)
                {
                    Convenio.TieneNvaSuperfice = 1;
                    cuerpoTabla += "<tr font-family: Montserrat'><td><strong>Superficie rentable:</strong> " + Convenio.SupM2 + "</td></tr>";
                }


                if (Convenio.ImporteRenta != null)
                {
                    Convenio.TieneNvoMonto = 1;
                    cuerpoTabla           += "<tr font-family: Montserrat'><td><strong>Monto de pago mensual:</strong> " + Convenio.ImporteRenta + "</td></tr>";
                }

                if (Convenio.TieneNvaSuperfice == 1 && Convenio.TieneNvoMonto == 1 && Convenio.ImporteRenta != null && Convenio.ImporteRenta > Constantes.MONTO_MINIMO_SECUENCIAL)
                {
                    cuerpoTabla += "<tr font-family: Montserrat'><td><strong>Secuencial de justipreciación:</strong> " + Convenio.Secuencial + "</td></tr>";
                }

                HTML = HTML.Replace("##FechaEfecto##", Convenio.DescFechaEfectoConvenio);
                HTML = HTML.Replace("##Folio##", Convenio.FolioConvenio);
                HTML = HTML.Replace("##InstitucionPublica##", AcuseContrato.InstitucionSolicitante);
                HTML = HTML.Replace("##Propietario##", AcuseContrato.ContratoArrto.PropietarioInmueble);
                HTML = HTML.Replace("##FunResponsable##", AcuseContrato.ContratoArrto.FuncionarioResponsable);
                HTML = HTML.Replace("##DireccionInmu##", objInmuebleArrto.DireccionCompleta);
                HTML = HTML.Replace("##valorRIUF##", AcuseContrato.ContratoArrto.RIUF.ToString());

                HTML = HTML.Replace("##CadOriginal##", Convenio.cadOriginal);
                HTML = HTML.Replace("##Sello##", Convenio.Sello);
                HTML = HTML.Replace("##QR##", Convenio.QR);
                HTML = HTML.Replace("##LeyendaQR##", ParametroQR.ValorParametro);
                HTML = HTML.Replace("##HoraReg##", Convenio.FechaRegistro.ToString("hh:mm tt"));

                HTML = HTML.Replace("##dia##", Convenio.descFechaRegistro.Split('/')[0]);
                HTML = HTML.Replace("##mes##", Util.ObtenerDescripcionMes(Convert.ToInt32(Convenio.descFechaRegistro.Split('/')[1])));
                HTML = HTML.Replace("##anio##", Convenio.descFechaRegistro.Split('/')[2]);

                HTML = HTML.Replace("##FechaAutorizacion##", Convenio.descFechaAutorizacion);

                HTML = HTML.Replace("##CuerpoTabla##", cuerpoTabla);

                byte[] bPDF = exportHTML.GeneraPdfFromHtmlStr(HTML);

                if (bPDF != null)
                {
                    if (!Directory.Exists(ruta))
                    {
                        Directory.CreateDirectory(ruta);
                    }

                    if (File.Exists(ruta + "AcuseConvenioModificatorio.pdf"))
                    {
                        File.Delete(ruta + "AcuseConvenioModificatorio.pdf");
                    }

                    File.WriteAllBytes(ruta + "AcuseConvenioModificatorio.pdf", bPDF);

                    Respuesta.Url       = ruta.Replace("\\", "/").Replace(ConfigurationManager.AppSettings["RutaDocsAdjuntosEscritura"], ConfigurationManager.AppSettings["RutaDocsAdjuntosLectura"]) + "AcuseConvenioModificatorio.pdf";
                    Respuesta.respuesta = true;
                    Respuesta.Mensaje   = string.Empty;
                }
            }

            catch (Exception ex)
            {
                Respuesta.respuesta = false;
                Respuesta.Mensaje   = "Hubo un problema al obtener el convenio modificatorio. Favor de contactar a tu administrador";
            }

            return(Respuesta);
        }
        public static Respuesta GenerarRegistroConvenio(int IdUsuario, Convenio Convenio, JustripreciacionContrato JustripreciacionContrato, string Institucion, int IdInmueble)
        {
            Respuesta    Respuesta = new Respuesta();
            string       msjError  = string.Empty;
            NG_Catalogos nCatalogo = new NG_Catalogos();
            string       HTML      = string.Empty;

            Utilerias.ExportHTML exportHTML = new Utilerias.ExportHTML();
            string        fechaRegistro     = string.Empty;
            string        fechaAutorizacion = string.Empty;
            AcuseContrato AcuseContrato     = new AcuseContrato();

            try
            {
                NG_ContratoArrto             nContrato        = new NG_ContratoArrto();
                ModeloNegocios.InmuebleArrto objInmuebleArrto = new Negocio.NG_InmuebleArrto().ObtenerInmuebleArrto(IdInmueble);

                JustripreciacionContrato.FechaDictamen = null;

                if (!string.IsNullOrEmpty(JustripreciacionContrato.descFechaDictamen))
                {
                    JustripreciacionContrato.FechaDictamen = Convert.ToDateTime(JustripreciacionContrato.descFechaDictamen);
                }

                if (!nContrato.GenerarConvenioModificatorio(Convenio, IdUsuario, JustripreciacionContrato, ref msjError, ref fechaRegistro))
                {
                    if (msjError.Length == 0)
                    {
                        msjError = "Hubo un problema al generar el registro del convenio modificatorio. Favor de contactar a tu administrador";
                    }

                    Respuesta.respuesta = false;
                    Respuesta.Mensaje   = msjError;
                    return(Respuesta);
                }

                string Direccion      = objInmuebleArrto.DireccionCompleta;
                string CadenaOriginal = "||Invocante:[" + Institucion + "] || Inmueble:[" + Direccion + "]||Fecha:[" + DateTime.Today.ToLongDateString() + "]||" + Guid.NewGuid().ToString();
                string SelloDigital   = UtilContratosArrto.Encrypt(CadenaOriginal, true, "ConvenioModificatorio");
                string ruta           = ConfigurationManager.AppSettings["RutaDocsAdjuntosEscritura"] + Convenio.FolioConvenio + "\\AcuseConvenio\\";

                Convenio.cadOriginal = CadenaOriginal;
                Convenio.Sello       = SelloDigital;
                Convenio.QR          = UtilContratosArrto.GenerarCodigoQR(string.Empty, 6, string.Empty, ruta.Replace("\\", "/").Replace(ConfigurationManager.AppSettings["RutaDocsAdjuntosEscritura"], ConfigurationManager.AppSettings["RutaDocsAdjuntosLectura"]) + "AcuseConvenioModificatorio.pdf");

                if (!nContrato.AutorizarConvenioModificatorio(Convenio.IdConvenio, CadenaOriginal, SelloDigital, Convenio.QR, IdUsuario, ref fechaAutorizacion))
                {
                    if (msjError.Length == 0)
                    {
                        msjError = "Hubo un problema al generar el registro del convenio modificatorio. Favor de contactar a tu administrador";
                    }

                    Respuesta.respuesta = false;
                    Respuesta.Mensaje   = msjError;
                    return(Respuesta);
                }

                Parametro parametro = nCatalogo.ObtenerParametroNombre("PlantillaConvenioModificatorio");
                HTML = parametro.ValorParametro;

                Parametro ParametroQR = nCatalogo.ObtenerParametroNombre("LeyendaQR");

                AcuseContrato = nContrato.ObtenerAcuseContrato(Convenio.FolioContrato);

                string cuerpoTabla = string.Empty;

                if (Convenio.TieneProrroga == 1)
                {
                    cuerpoTabla += "<tr font-family: Montserrat'><td><strong>Prorroga de vigencia:</strong> " + Convenio.descFechaTermino + "</td></tr>";
                }

                if (Convenio.TieneNvaSuperfice == 1)
                {
                    cuerpoTabla += "<tr font-family: Montserrat'><td><strong>Superficie rentable:</strong> " + Convenio.SupM2 + "</td></tr>";
                }

                if (Convenio.TieneNvoMonto == 1)
                {
                    cuerpoTabla += "<tr font-family: Montserrat'><td><strong>Monto de pago mensual:</strong> " + Convenio.ImporteRenta + "</td></tr>";
                }

                if (Convenio.TieneNvoMonto == 1 && Convenio.ImporteRenta > Constantes.MONTO_MINIMO_SECUENCIAL)
                {
                    cuerpoTabla += "<tr font-family: Montserrat'><td><strong>Secuencial de justipreciación:</strong> " + Convenio.Secuencial + "</td></tr>";
                }

                HTML = HTML.Replace("##FechaEfecto##", Convenio.DescFechaEfectoConvenio);
                HTML = HTML.Replace("##Folio##", Convenio.FolioConvenio);
                HTML = HTML.Replace("##InstitucionPublica##", Institucion);
                HTML = HTML.Replace("##Propietario##", AcuseContrato.ContratoArrto.PropietarioInmueble);
                HTML = HTML.Replace("##FunResponsable##", AcuseContrato.ContratoArrto.FuncionarioResponsable);
                HTML = HTML.Replace("##DireccionInmu##", objInmuebleArrto.DireccionCompleta);
                HTML = HTML.Replace("##valorRIUF##", AcuseContrato.ContratoArrto.RIUF.ToString());

                HTML = HTML.Replace("##CadOriginal##", Convenio.cadOriginal);
                HTML = HTML.Replace("##Sello##", Convenio.Sello);
                HTML = HTML.Replace("##QR##", Convenio.QR);
                HTML = HTML.Replace("##LeyendaQR##", ParametroQR.ValorParametro);
                HTML = HTML.Replace("##HoraReg##", Convenio.FechaRegistro.ToString("hh:mm tt"));

                HTML = HTML.Replace("##dia##", fechaRegistro.Split('/')[0]);
                HTML = HTML.Replace("##mes##", Util.ObtenerDescripcionMes(Convert.ToInt32(fechaRegistro.Split('/')[1])));
                HTML = HTML.Replace("##anio##", fechaRegistro.Split('/')[2]);

                HTML = HTML.Replace("##FechaAutorizacion##", fechaAutorizacion);

                HTML = HTML.Replace("##CuerpoTabla##", cuerpoTabla);

                byte[] bPDF = exportHTML.GeneraPdfFromHtmlStr(HTML);

                if (bPDF != null)
                {
                    if (!Directory.Exists(ruta))
                    {
                        Directory.CreateDirectory(ruta);
                    }

                    if (File.Exists(ruta + "AcuseConvenioModificatorio.pdf"))
                    {
                        File.Delete(ruta + "AcuseConvenioModificatorio.pdf");
                    }

                    File.WriteAllBytes(ruta + "AcuseConvenioModificatorio.pdf", bPDF);

                    Respuesta.Url       = ruta.Replace("\\", "/").Replace(ConfigurationManager.AppSettings["RutaDocsAdjuntosEscritura"], ConfigurationManager.AppSettings["RutaDocsAdjuntosLectura"]) + "AcuseConvenioModificatorio.pdf";
                    Respuesta.respuesta = true;
                    Respuesta.Mensaje   = string.Empty;
                }
            }

            catch (Exception ex)
            {
                Respuesta.respuesta = false;
                Respuesta.Mensaje   = "Hubo un problema al generar el registro del convenio modificatorio. Favor de contactar a tu administrador";
            }

            return(Respuesta);
        }
Ejemplo n.º 7
0
        private Boolean PoblarRejillaDocumentos()
        {
            Boolean Ok = false;
            List <ModeloNegocios.Documento> ListDocumento = null;
            string sTipoDocumento = Request.QueryString["IdTipoDocumento"] == null ? "0" : Request.QueryString["IdTipoDocumento"].ToString();

            IdTipoDocumento = System.Convert.ToInt32(sTipoDocumento);

            GridViewResult.DataSource = null;
            GridViewResult.DataBind();
            try
            {
                //ir a la BD por los datos
                ListDocumento = new NG_Catalogos().ObtenerDocumentos(IdTipoDocumento);

                if (ListDocumento != null)
                {
                    if (IdTipoDocumento == 1)
                    {
                        String RolUsr = UtilContratosArrto.ObtenerNombreRolUsrApp(((SSO)Session["Contexto"]).LRol);

                        string filePath  = Path.Combine(downloadDirectory, string.Format("002-Guia_Usuario_Contratos_arrendamientos.pdf"));
                        string filePath1 = Path.Combine(downloadDirectory, string.Format("002-Guia_Usuario_Contratos_arrendamientos.pdf"));

                        switch (RolUsr.ToUpper())
                        {
                        case "PROMOVENTE":


                            if (File.Exists(filePath))
                            {
                                ListDocumento.Add(new Documento
                                {
                                    IdDocumento          = 0,
                                    IdTipoDocumento      = 1,
                                    NombreDocumento      = "Guía rapida promovente",
                                    DescripcionDocumento = "Sistema de Registro de Contratos de Arrendamiento y Otras Figuras de Ocupación",
                                    URLDocumento         = "/Contratos/GuiasNormativa/Guias/002-Guia_Usuario_Contratos_arrendamientos.pdf"
                                });
                            }
                            break;

                        case "OIC":
                            if (File.Exists(filePath1))
                            {
                                ListDocumento.Add(new Documento
                                {
                                    IdDocumento          = 0,
                                    IdTipoDocumento      = 1,
                                    NombreDocumento      = "Guía rapida organo interno de control",
                                    DescripcionDocumento = "Sistema de Registro de Contratos de Arrendamiento y Otras Figuras de Ocupación",
                                    URLDocumento         = "/Contratos/GuiasNormativa/Guias/002 -Guia_Usuario_Contratos _arrendamientos_organo_interno.pdf"
                                });
                            }
                            break;

                        default:
                            if (File.Exists(filePath1))
                            {
                                ListDocumento.Add(new Documento
                                {
                                    IdDocumento          = 0,
                                    IdTipoDocumento      = 1,
                                    NombreDocumento      = "Guía rapida organo interno de control",
                                    DescripcionDocumento = "Sistema de Registro de Contratos de Arrendamiento y Otras Figuras de Ocupación",
                                    URLDocumento         = "/Contratos/GuiasNormativa/Guias/002 -Guia_Usuario_Contratos _arrendamientos_organo_interno.pdf"
                                });
                            }
                            if (File.Exists(filePath))
                            {
                                ListDocumento.Add(new Documento
                                {
                                    IdDocumento          = 0,
                                    IdTipoDocumento      = 1,
                                    NombreDocumento      = "Guía rapida promovente",
                                    DescripcionDocumento = "Sistema de Registro de Contratos de Arrendamiento y Otras Figuras de Ocupación",
                                    URLDocumento         = "/Contratos/GuiasNormativa/Guias/002-Guia_Usuario_Contratos_arrendamientos.pdf"
                                });
                            }
                            break;
                        }
                    }

                    if (ListDocumento.Count > 0)
                    {
                        //poblar la rejilla
                        GridViewResult.DataSource = ListDocumento;
                        GridViewResult.DataBind();
                        Session[this.lblTableName.Text] = ListDocumento;
                    }
                    else
                    {
                        Msj = "No se encontraron documentos para mostrar";
                        this.LabelInfoGridResult.Text = "<div class='alert alert-warning'><strong> ¡Precaución! </strong> " + Msj + "</div>";
                        MostrarMensajeJavaScript(Msj);
                        this.LabelInfoGridResult.Text = Msj;
                        Ok = true;
                    }
                }
                else
                {
                    Msj = "No se encontraron documentos para mostrar";
                    this.LabelInfoGridResult.Text = "<div class='alert alert-warning'><strong> ¡Precaución! </strong> " + Msj + "</div>";
                    MostrarMensajeJavaScript(Msj);
                    this.LabelInfoGridResult.Text = Msj;
                    Ok = true;
                }
                return(Ok);
            }
            catch (Exception ex)
            {
                Msj = "Ha ocurrido un error al recuperar la lista de documentos. Contacta al área de sistemas.";
                this.LabelInfoGridResult.Text = "<div class='alert alert-danger'> " + Msj + "</div>";
                MostrarMensajeJavaScript(Msj);

                BitacoraExcepcion BitacoraExcepcionAplictivo = new BitacoraExcepcion
                {
                    CadenaconexionBD = System.Configuration.ConfigurationManager.ConnectionStrings["cnArrendamientoInmueble"].ConnectionString,
                    Aplicacion       = "ContratosArrto",
                    Modulo           = MethodInfo.GetCurrentMethod().DeclaringType.ToString() + ".aspx",
                    Funcion          = MethodBase.GetCurrentMethod().Name + "()",
                    DescExcepcion    = ex.InnerException == null ? ex.Message : ex.InnerException.Message,
                    Usr = ((SSO)Session["Contexto"]).UserName.ToString()
                };
                BitacoraExcepcionAplictivo.RegistrarBitacoraExcepcion();
                BitacoraExcepcionAplictivo = null;
                Ok = false;
            }
            return(Ok);
        }
Ejemplo n.º 8
0
        private Boolean PoblarRejillaCampos()
        {
            Boolean Ok = false;

            try
            {
                DataTable oTable;
                oTable = this.CreaEstructuraCampos();

                List <ModeloNegocios.CampoReporte> ListCamposReporte = null;
                int Fk_IdReporte = 1;

                GridViewFields.DataSource = null;
                GridViewFields.DataBind();

                //ir a la BD por los datos
                ListCamposReporte = new NG_Catalogos().ObtenerCamposReporte(Fk_IdReporte);

                //si existe el objeto y tiene contenido
                if (ListCamposReporte != null)
                {
                    if (ListCamposReporte.Count > 0)
                    {
                        //poblar la tabla
                        int    columnas                  = this.GridViewFields.Columns.Count / 2;
                        string colPrefixNombreCampo      = "NombreCampoCol";
                        string colPrefixDescripcionCampo = "DescripcionCampoCol";
                        string colPrefixCheckCampo       = "CheckCampoCol";
                        string colPrefixVisibleCampo     = "VisibleCampoCol";

                        bool    dataRetrieved       = false;
                        int     currentColumnNumber = 1;
                        DataRow dr = oTable.NewRow();
                        foreach (CampoReporte item in ListCamposReporte)
                        {
                            dr[colPrefixNombreCampo + currentColumnNumber]      = item.NombreCampoReporte;
                            dr[colPrefixDescripcionCampo + currentColumnNumber] = item.DescripcionCampoReporte;
                            dr[colPrefixCheckCampo + currentColumnNumber]       = false;
                            dr[colPrefixVisibleCampo + currentColumnNumber]     = true;
                            currentColumnNumber += 1;
                            dataRetrieved        = true;
                            if (currentColumnNumber > columnas)
                            {
                                oTable.Rows.Add(dr);
                                currentColumnNumber = 1;
                                dr = oTable.NewRow();
                            }
                        }
                        if (dataRetrieved && dr.RowState == DataRowState.Detached)
                        {
                            for (int i = currentColumnNumber; i <= columnas; i++)
                            {
                                dr[colPrefixNombreCampo + i]      = "";
                                dr[colPrefixDescripcionCampo + i] = "";
                                dr[colPrefixCheckCampo + i]       = false;
                                dr[colPrefixVisibleCampo + i]     = false;
                            }
                            oTable.Rows.Add(dr);
                        }
                        GridViewFields.DataSource = oTable;
                        GridViewFields.DataBind();
                        Session[this.lblTableName.Text] = oTable;
                        Ok = true;
                    }
                    else
                    {
                        Msj = "No se encontraron campos para el reporte seleccionado";
                        this.LabelInfo.Text       = "<div class='alert alert-warning'><strong> ¡Precaución! </strong> " + Msj + "</div>";
                        this.LabelInfoResult.Text = "<div class='alert alert-warning'><strong> ¡Precaución! </strong> " + Msj + "</div>";
                        MostrarMensajeJavaScript(Msj);
                        Ok = true;
                    }
                }
                else
                {
                    Msj = "No se encontraron campos para el reporte seleccionado";
                    this.LabelInfo.Text       = "<div class='alert alert-warning'><strong> ¡Precaución! </strong> " + Msj + "</div>";
                    this.LabelInfoResult.Text = "<div class='alert alert-warning'><strong> ¡Precaución! </strong> " + Msj + "</div>";
                    MostrarMensajeJavaScript(Msj);
                    Ok = true;
                }
            }
            catch (Exception ex)
            {
                Msj = "Ha ocurrido un error al mostrar la lista de campos para el reporte. Contacta al área de sistemas.";
                this.LabelInfo.Text       = "<div class='alert alert-danger'><strong> Error </strong>" + Msj + "</div>";
                this.LabelInfoResult.Text = this.LabelInfo.Text;
                MostrarMensajeJavaScript(Msj);

                BitacoraExcepcion BitacoraExcepcionAplictivo = new BitacoraExcepcion
                {
                    CadenaconexionBD = System.Configuration.ConfigurationManager.ConnectionStrings["cnArrendamientoInmueble"].ConnectionString,
                    Aplicacion       = "ContratosArrto",
                    Modulo           = MethodInfo.GetCurrentMethod().DeclaringType.ToString() + ".aspx",
                    Funcion          = MethodBase.GetCurrentMethod().Name + "()",
                    DescExcepcion    = ex.InnerException == null ? ex.Message : ex.InnerException.Message,
                    Usr = ((SSO)Session["Contexto"]).UserName.ToString()
                };
                BitacoraExcepcionAplictivo.RegistrarBitacoraExcepcion();
                BitacoraExcepcionAplictivo = null;
            }
            return(Ok);
        }