Beispiel #1
0
        // Funciones del programador
        private void updateUserPassword()
        {
            BPUsuario oBPUsuario = new BPUsuario();

            ENTSession oENTSession = new ENTSession();
            ENTUsuario oENTUsuario = new ENTUsuario();
            ENTResponse oENTResponse = new ENTResponse();

            try{

                // Obtener sesion
                oENTSession = (ENTSession)this.Session["oENTSession"];

                // Datos del formulario
                oENTUsuario.idUsuario = oENTSession.idUsuario;
                oENTUsuario.sPassword = this.sNewPassword.Text;
                oENTUsuario.sOldPassword = this.sOldPassword.Text;

                // Transacción
                oENTResponse = oBPUsuario.UpdateUsuario_ActualizaContrasena(oENTUsuario);

                // Validaciones
                if (oENTResponse.GeneratesException){ throw (new Exception(oENTResponse.sErrorMessage)); }
                if (oENTResponse.sMessage != ""){ throw (new Exception(oENTResponse.sMessage)); }

                // Transacción exitosa
            ScriptManager.RegisterStartupScript(this.Page, this.GetType(), Convert.ToString(Guid.NewGuid()), "alert('Su contraseña ha sido actualizada con éxito'); focusControl('" + this.sOldPassword.ClientID + "');", true);

            }catch (Exception ex){
                throw(ex);
            }
        }
Beispiel #2
0
        // Eventos de la página
        protected void Page_Load(object sender, EventArgs e)
        {
            // Validación. Solo la primera vez que se ejecuta la página
            if (this.IsPostBack) { return; }

            // Lógica de la página
            ENTSession oENTSession = new ENTSession();

            try{

                // Mensajes por Default
                this.litEncabezado.Text = "Estimado Usuario, ha ocurrido un problema al querer ingresar a la página que solicitó, a continuación se detalla:";
            this.lblNotificacion.Text = "No tiene permisos de acceder a esta página";

                // Aviso
            this.lblNotificacion.Text = (this.Request.QueryString["key"] == null ? this.lblNotificacion.Text : gcEncryption.DecryptString(this.Request.QueryString["key"], true));

                // Nombre de usuario
                oENTSession = (ENTSession)this.Session["oENTSession"];
                this.litEncabezado.Text = "&nbsp;Estimado <b>" + oENTSession.sNombre + " </b>, ha ocurrido un problema al querer ingresar a la página que solicitó, a continuación se detalla:";

            }catch (Exception){
                // Do Nothing
            }
        }
        // Eventos de la página
        protected void Page_Load(object sender, EventArgs e)
        {
            // Validación. Solo la primera vez que se ejecuta la página
            if (this.IsPostBack) { return; }

            // Lógica de la página
            ENTSession oENTSession = new ENTSession();

            try
            {

                // Imagen de Exit
                this.imgExit.Attributes.Add("onmouseover", "src='../../../../Include/Image/Web/SalirOn.png'");
                this.imgExit.Attributes.Add("onmouseout", "src='../../../../Include/Image/Web/SalirOff.png'");

                // Nombre de usuario
                oENTSession = (ENTSession)this.Session["oENTSession"];
                this.lblUserName.Text = "Bienvenido: " + oENTSession.sNombre + " | ";

            }catch (Exception){
                // Do Nothing
            }
        }
        void UpdateDictamen()
        {
            ENTDictamen oENTDictamen = new ENTDictamen();
            ENTResponse oENTResponse = new ENTResponse();
            ENTSession SessionEntity = new ENTSession();

            BPDictamen oBPDictamen = new BPDictamen();

            try
            {

                // Validaciones
                if (this.ddlResolucionDictamen.Enabled) { if (this.ddlResolucionDictamen.SelectedItem.Value == "0") { throw (new Exception("Es necesario seleccionar una Resolución de Dictamen")); } }
                if (this.ckeDictamen.Text.Trim() == "") { throw (new Exception("Es necesario ingresar un detalle del dictamen")); }

                // Obtener sesión
                SessionEntity = (ENTSession)Session["oENTSession"];

                // Validaciones de sesión
                if (SessionEntity.FuncionarioId == 0) { throw new Exception("No cuenta con permisos para crear diligencias debido a que usted no es un funcionario"); }

                // Formulario
                oENTDictamen.DictamenId = Int32.Parse( this.hddAtencionDictamenId.Value );
                oENTDictamen.AtencionId = Int32.Parse(this.hddAtencionId.Value);
                oENTDictamen.FuncionarioId = SessionEntity.FuncionarioId;
                oENTDictamen.ResolucionDictamenId = ( this.ddlResolucionDictamen.Enabled ? Int32.Parse(this.ddlResolucionDictamen.SelectedValue) : 0 );
                oENTDictamen.Dictamen = this.ckeDictamen.Text.Trim();

                // Transacción
                oENTResponse = oBPDictamen.UpdateDictamen(oENTDictamen);

                // Errores y Warnings
                if (oENTResponse.GeneratesException) { throw (new Exception(oENTResponse.sErrorMessage)); }
                if (oENTResponse.sMessage != "") { throw (new Exception(oENTResponse.sMessage)); }

            }catch (Exception ex){
                throw (ex);
            }
        }
        // Funciones el programador
        void InsertExpedienteResolucion()
        {
            ENTVisitaduria oENTVisitaduria = new ENTVisitaduria();
            ENTResponse oENTResponse = new ENTResponse();
            ENTSession SessionEntity = new ENTSession();

            BPVisitaduria oBPVisitaduria = new BPVisitaduria();

            try
            {

                // Validaciones
                if (this.ddlTipoResolucion.SelectedIndex == 0) { throw new Exception("El campo [Tipo de Resolución] es requerido"); }
                if (this.ddlTipoResolucion.SelectedItem.Value == "1") { throw new Exception("Es necesario determinar el Tipo de Resolución"); }
                if (this.ckeDetalle.Text.Trim() == "") { throw (new Exception("Es necesario ingresar un detalle de la resolución")); }

                // Obtener sesión
                SessionEntity = (ENTSession)Session["oENTSession"];

                // Formulario
                oENTVisitaduria.ExpedienteId = Int32.Parse(this.hddExpedienteId.Value);
                oENTVisitaduria.FuncionarioId = SessionEntity.FuncionarioId;
                oENTVisitaduria.TipoResolucionId = Int32.Parse(this.ddlTipoResolucion.SelectedItem.Value);
                oENTVisitaduria.Detalle = this.ckeDetalle.Text.Trim();

                // Transacción
                oENTResponse = oBPVisitaduria.InsertExpedienteResolucion(oENTVisitaduria);

                // Errores y Warnings
                if (oENTResponse.GeneratesException) { throw (new Exception(oENTResponse.sErrorMessage)); }
                if (oENTResponse.sMessage != "") { throw (new Exception(oENTResponse.sMessage)); }

            }catch (Exception ex){
                throw (ex);
            }
        }
        // Rutinas del programador
        void CheckDeleteLinkComentario()
        {
            ENTSession SessionEntity = new ENTSession();

            try
            {

                // Obtener sesión
                SessionEntity = (ENTSession)Session["oENTSession"];

                // Si es Funcionario y el expediente está asignado a el puede agregar comentarios siempre y cuando no esté en estatus de confirmación de cierre
                if (SessionEntity.idRol == 8 && Int32.Parse(this.hddFuncionarioId.Value) == SessionEntity.FuncionarioId){
                    if (Int32.Parse(this.hddEstatusId.Value) == 6 || Int32.Parse(this.hddEstatusId.Value) == 7 ){

                        foreach (RepeaterItem repItem in repComentarios.Items){
                            LinkButton oLinkButton = (LinkButton)repItem.FindControl("lnkEliminarComentario");
                            oLinkButton.Visible = true;
                        }

                    }
                }

                // Si es Administrador puede agregar comentarios siempre y cuando no esté en estatus de confirmación de cierre
                if (SessionEntity.idRol == 1 || SessionEntity.idRol == 2){
                    if (Int32.Parse(this.hddEstatusId.Value) == 6 || Int32.Parse(this.hddEstatusId.Value) == 7 ){

                        foreach (RepeaterItem repItem in repComentarios.Items){
                            LinkButton oLinkButton = (LinkButton)repItem.FindControl("lnkEliminarComentario");
                            oLinkButton.Visible = true;
                        }

                    }
                }

                // Si no es un comentario del módulo de visitadurías hay que denegar la eliminación
                foreach (RepeaterItem repItem in repComentarios.Items){

                    HiddenField oHiddenField = (HiddenField)repItem.FindControl("hddModuloId");
                    if ( oHiddenField.Value != "3"  ){

                        LinkButton oLinkButton = (LinkButton)repItem.FindControl("lnkEliminarComentario");
                        oLinkButton.Visible = false;
                    }

                }

            }catch(Exception ex){
                throw(ex);
            }
        }
        void SaveForm()
        {
            ENTSession oENTSession = new ENTSession();
            ENTVisitaduria oENTVisitaduria = new ENTVisitaduria();

            try
            {

                // Formulario
                oENTVisitaduria.Numero = this.txtNumeroExpediente.Text.Trim();
                oENTVisitaduria.Nombre = this.txtCiudadano.Text.Trim();
                oENTVisitaduria.EstatusId = Int32.Parse(this.ddlEstatus.SelectedValue);
                oENTVisitaduria.FuncionarioId = Int32.Parse(this.ddlFuncionario.SelectedValue);
                oENTVisitaduria.TipoResolucionId = Int32.Parse(this.ddlTipoResolucion.SelectedValue);
                oENTVisitaduria.FechaDesde = this.wucBeginDate.BeginDate;
                oENTVisitaduria.FechaHasta = this.wucEndDate.EndDate;

                // Obtener la sesion
                oENTSession = (ENTSession)this.Session["oENTSession"];

                // Guardar el formulario en la sesión
                oENTSession.Entity = oENTVisitaduria;
                this.Session["oENTSession"] = oENTSession;

            }catch (Exception ex){
                throw (ex);
            }
        }
Beispiel #8
0
        private void loginUser()
        {
            BPUsuario oBPUsuario = new BPUsuario();

            ENTUsuario oENTUsuario = new ENTUsuario();
            ENTResponse oENTResponse = new ENTResponse();
            ENTSession oENTSession = new ENTSession();

            try
            {

                // Datos del formulario
                oENTUsuario.sEmail = this.txtEmail.Text;
                oENTUsuario.sPassword = (this.hddEncryption.Value == "1" ? gcEncryption.DecryptString(this.txtPassword.Text, false) : this.txtPassword.Text);

                // Transacción
                oENTResponse = oBPUsuario.SelectUsuario_Autenticacion(oENTUsuario);

                // Validaciones
                if (oENTResponse.GeneratesException) { throw (new Exception(oENTResponse.sErrorMessage)); }
                if (oENTResponse.sMessage != "") { throw (new Exception(oENTResponse.sMessage)); }

                // Usuario válido
                cookiesSetConfiguration();
                // oENTSession = (ENTSession)Session["oENTSession"];
                this.Response.Redirect("../Private/Home/AppIndex.aspx", false);

            }catch (Exception ex){
                throw (ex);
            }
        }
        // Rutinas del programador
        void RecoveryForm()
        {
            ENTSession oENTSession = new ENTSession();
            BPSolicitud oBPSolicitud;

            try
            {

                // Obtener la sesion
                oENTSession = (ENTSession)this.Session["oENTSession"];

                // Validaciones
                if (oENTSession.Entity == null) { return; }
                if (oENTSession.Entity.GetType().Name != "BPSolicitud") { return; }

                // Obtener Formulario
                oBPSolicitud = (BPSolicitud)oENTSession.Entity;

                // Vaciar formulario
                this.txtNumeroSolicitud.Text = oBPSolicitud.SolicitudEntity.Numero.ToString();
                this.txtCiudadano.Text = oBPSolicitud.SolicitudEntity.Nombre;
                this.ddlFormaContacto.SelectedValue = oBPSolicitud.SolicitudEntity.FormaContactoId.ToString();
                this.ddlFuncionario.SelectedValue = oBPSolicitud.SolicitudEntity.FuncionarioId.ToString();
                this.wucBeginDate.SetDateTime = oBPSolicitud.SolicitudEntity.FechaDesde;
                this.wucEndDate.SetDateTime = oBPSolicitud.SolicitudEntity.FechaHasta;

                dtBeginDate = oBPSolicitud.SolicitudEntity.FechaDesde.ToString();
                dtEndDate = oBPSolicitud.SolicitudEntity.FechaHasta.ToString();

                // Liberar el formulario en la sesión
                oENTSession.Entity = null;
                this.Session["oENTSession"] = oENTSession;

                // Realcular
                SelectSolicitud(true);

            }catch (Exception ex){
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), Convert.ToString(Guid.NewGuid()), "alert('No fue posible recuperar el formulario: " + gcJavascript.ClearText(ex.Message) + "');", true);
            }
        }
        // Rutinas del programador
        void CheckDeleteLinkComentario()
        {
            ENTSession SessionEntity = new ENTSession();

            try
            {

                // Obtener sesión
                SessionEntity = (ENTSession)Session["oENTSession"];

                // Si es Funcionario y el expediente está asignado a el puede agregar comentarios siempre y cuando no esté en estatus de confirmación de cierre
                if (SessionEntity.idRol == 5 && Int32.Parse(this.hddFuncionarioId.Value) == SessionEntity.FuncionarioId){
                    if (Int32.Parse(this.hddEstatusId.Value) != 4){

                        foreach (RepeaterItem repItem in repComentarios.Items){
                            LinkButton oLinkButton = (LinkButton)repItem.FindControl("lnkEliminarComentario");
                            oLinkButton.Visible = true;
                        }

                    }
                }

                // Si es Administrador puede agregar comentarios siempre y cuando no esté en estatus de confirmación de cierre
                if (SessionEntity.idRol == 1 || SessionEntity.idRol == 2){
                    if (Int32.Parse(this.hddEstatusId.Value) != 4){

                        foreach (RepeaterItem repItem in repComentarios.Items){
                            LinkButton oLinkButton = (LinkButton)repItem.FindControl("lnkEliminarComentario");
                            oLinkButton.Visible = true;
                        }

                    }
                }

            }catch(Exception ex){
                throw(ex);
            }
        }
        void SaveExpedienteSeguimiento()
        {
            BPExpedienteSeguimiento ExpedienteSeguimientoProcess = new BPExpedienteSeguimiento();
            ENTSession SessionEntity = new ENTSession();

            // Validaciones
            if (this.ddlTipoSeguimiento.SelectedIndex == 0) { throw new Exception("El campo [Tipo de seguimiento] es requerido"); }
            if (this.ckeSeguimiento.Text.Trim() == "") { throw new Exception("El campo [Detalle] es requerido"); }

            // Obtener la sesión
            SessionEntity = (ENTSession)Session["oENTSession"];

            // Parámetros
            ExpedienteSeguimientoProcess.ExpedienteSeguimientoEntity.ExpedienteSeguimientoId = Int32.Parse(this.hddExpedienteSeguimientoId.Value);
            ExpedienteSeguimientoProcess.ExpedienteSeguimientoEntity.ExpedienteId = Int32.Parse(this.hddExpedienteId.Value);
            ExpedienteSeguimientoProcess.ExpedienteSeguimientoEntity.ModuloId = 3;
            ExpedienteSeguimientoProcess.ExpedienteSeguimientoEntity.FuncionarioId = SessionEntity.FuncionarioId;
            ExpedienteSeguimientoProcess.ExpedienteSeguimientoEntity.TipoSeguimientoId = Int32.Parse(this.ddlTipoSeguimiento.SelectedItem.Value);
            ExpedienteSeguimientoProcess.ExpedienteSeguimientoEntity.Fecha = this.wucFecha.BeginDate;
            ExpedienteSeguimientoProcess.ExpedienteSeguimientoEntity.Detalle = this.ckeSeguimiento.Text.Trim();

            // Transacción
            ExpedienteSeguimientoProcess.SaveExpedienteSeguimiento();

            // Validaciones
            if (ExpedienteSeguimientoProcess.ErrorId != 0) { throw (new Exception(ExpedienteSeguimientoProcess.ErrorDescription)); }

            // Limpiar el formulario
            ResetForm();

            // Actualizar la información
            SelectExpedienteSeguimiento();
        }
Beispiel #12
0
        void SaveForm()
        {
            ENTSession oENTSession = new ENTSession();
            ENTExpedienteComparecencia oENTExpedienteComparecencia = new ENTExpedienteComparecencia();

            CheckBox oCheckBox;
            DataRow rowCiudadano;

            try
            {

                // Formulario
                oENTExpedienteComparecencia.ExpedienteComparecenciaId = Int32.Parse(this.hddComparecenciaId.Value);
                oENTExpedienteComparecencia.FuncionarioId = Int32.Parse(this.ddlFuncionario.SelectedItem.Value);
                oENTExpedienteComparecencia.Fecha = this.calFecha.DisplayDate;
                oENTExpedienteComparecencia.HoraInicio = this.tmrInicio.DisplayTime;
                oENTExpedienteComparecencia.HoraFin = this.tmrInicio.DisplayTime;
                oENTExpedienteComparecencia.TipoComparecenciaId = Int32.Parse(this.ddlTipoComparecencia.SelectedItem.Value);
                oENTExpedienteComparecencia.LugarComparecenciaId = Int32.Parse(this.ddlLugarComparecencia.SelectedItem.Value);

                oENTExpedienteComparecencia.tblCiudadano = new DataTable("tblCiudadano");
                oENTExpedienteComparecencia.tblCiudadano.Columns.Add("CiudadanoId", typeof(Int32));
                foreach (GridViewRow gvRow in this.gvCiudadano.Rows) {

                    oCheckBox = (CheckBox) this.gvCiudadano.Rows[gvRow.RowIndex].FindControl("chkCiudadano");
                    if (oCheckBox.Checked) {
                        rowCiudadano = oENTExpedienteComparecencia.tblCiudadano.NewRow();
                        rowCiudadano["CiudadanoId"] = this.gvCiudadano.DataKeys[gvRow.RowIndex]["CiudadanoId"].ToString();
                        oENTExpedienteComparecencia.tblCiudadano.Rows.Add(rowCiudadano);
                    }
                }

                oENTExpedienteComparecencia.tblServidorPublico = gcParse.GridViewToDataTable(this.gvServidorPublico, true);
                oENTExpedienteComparecencia.Detalle = this.ckeDetalle.Text.Trim();

                // Obtener la sesion
                oENTSession = (ENTSession)this.Session["oENTSession"];

                // Guardar el formulario en la sesión
                oENTSession.Entity = oENTExpedienteComparecencia;
                this.Session["oENTSession"] = oENTSession;

            }catch (Exception ex){
                throw (ex);
            }
        }
Beispiel #13
0
        // Rutinas de recuperación de formulario
        void RecoveryForm()
        {
            ENTSession oENTSession = new ENTSession();
            ENTExpedienteComparecencia oENTExpedienteComparecencia;

            CheckBox oCheckBox;

            try
            {

                // Obtener la sesion
                oENTSession = (ENTSession)this.Session["oENTSession"];

                // Validaciones
                if (oENTSession.Entity == null) { return; }
                if (oENTSession.Entity.GetType().Name != "ENTExpedienteComparecencia") { return; }

                // Obtener Formulario
                oENTExpedienteComparecencia = (ENTExpedienteComparecencia)oENTSession.Entity;

                // Abrir el panel
                if( oENTExpedienteComparecencia.ExpedienteComparecenciaId == 0 ){

                    SetPanel(ComparecenciaActionTypes.Insert);
                }else{

                    SetPanel(ComparecenciaActionTypes.Update, oENTExpedienteComparecencia.ExpedienteComparecenciaId);
                }

                // Vaciar formulario
                this.ddlFuncionario.SelectedValue = oENTExpedienteComparecencia.FuncionarioId.ToString();
                this.calFecha.SetDate = oENTExpedienteComparecencia.Fecha;
                this.tmrInicio.DisplayTime = oENTExpedienteComparecencia.HoraInicio;
                this.tmrInicio.DisplayTime = oENTExpedienteComparecencia.HoraFin;
                this.ddlTipoComparecencia.SelectedValue = oENTExpedienteComparecencia.TipoComparecenciaId.ToString();
                this.ddlLugarComparecencia.SelectedValue = oENTExpedienteComparecencia.LugarComparecenciaId.ToString();

                foreach (GridViewRow gvRow in this.gvCiudadano.Rows) {

                    oCheckBox = (CheckBox) this.gvCiudadano.Rows[gvRow.RowIndex].FindControl("chkCiudadano");
                    if (oENTExpedienteComparecencia.tblCiudadano.Select("CiudadanoId=" + this.gvCiudadano.DataKeys[gvRow.RowIndex]["CiudadanoId"].ToString()).Length > 0) { oCheckBox.Checked = true; }
                }

                this.gvServidorPublico.DataSource = oENTExpedienteComparecencia.tblServidorPublico;
                this.gvServidorPublico.DataBind();

                this.ckeDetalle.Text = oENTExpedienteComparecencia.Detalle;

                // Liberar el formulario en la sesión
                oENTSession.Entity = null;
                this.Session["oENTSession"] = oENTSession;

            }catch (Exception ex){
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), Convert.ToString(Guid.NewGuid()), "alert('No fue posible recuperar el formulario: " + gcJavascript.ClearText(ex.Message) + "');", true);
            }
        }
        void SaveForm()
        {
            ENTSession oENTSession = new ENTSession();
            ENTSeguimiento oENTSeguimiento = new ENTSeguimiento();

            try
            {

                // Formulario
                oENTSeguimiento.RecomendacionNumero = this.txtRecomendacionNumero.Text.Trim();
                oENTSeguimiento.ExpedienteNumero = this.txtExpedienteNumero.Text.Trim();
                oENTSeguimiento.NombreAutoridad = this.txtNombreAutoridad.Text.Trim();
                oENTSeguimiento.AcuerdoNoResponsabilidad = Int16.Parse(this.ddlTipo.SelectedValue);
                oENTSeguimiento.EstatusId = Int32.Parse(this.ddlEstatus.SelectedValue);
                oENTSeguimiento.FuncionarioId = Int32.Parse(this.ddlFuncionario.SelectedValue);
                oENTSeguimiento.FechaDesde = this.wucBeginDate.BeginDate;
                oENTSeguimiento.FechaHasta = this.wucEndDate.EndDate;

                // Obtener la sesion
                oENTSession = (ENTSession)this.Session["oENTSession"];

                // Guardar el formulario en la sesión
                oENTSession.Entity = oENTSeguimiento;
                this.Session["oENTSession"] = oENTSession;

            }catch (Exception ex){
                throw (ex);
            }
        }
        void InsertExpedienteCiudadano()
        {
            BPVisitaduria oBPVisitaduria = new BPVisitaduria();

            ENTVisitaduria oENTVisitaduria = new ENTVisitaduria();
            ENTResponse oENTResponse = new ENTResponse();
            ENTSession SessionEntity = new ENTSession();

            String CiudadanoId;
            String CiudadanoNombre;

            try
            {

                // Obtener información del ciudadano del Autosuggest
                CiudadanoId = this.Request.Form[this.hddCiudadanoId.UniqueID];
                CiudadanoNombre = this.Request.Form[this.txtCiudadano.UniqueID];

                // Normalización
                if (CiudadanoId == "") { CiudadanoId = "0"; }
                CiudadanoNombre = CiudadanoNombre.Trim();

                // Validaciones
                if (CiudadanoNombre == "" ) { throw new Exception("El campo [Nombre del ciudadano] es requerido"); }
                if (this.ddlTipoParticipacion.SelectedItem.Value == "0") { throw new Exception("El campo [Tipo de Participación] es requerido"); }

                // Obtener la sesión
                SessionEntity = (ENTSession)Session["oENTSession"];

                // Formulario
                oENTVisitaduria.ExpedienteId = Int32.Parse(this.hddExpedienteId.Value);
                oENTVisitaduria.UsuarioId = SessionEntity.idUsuario;
                oENTVisitaduria.CiudadanoId = Int32.Parse(CiudadanoId);
                oENTVisitaduria.ModuloId = 3; // Visitadurías
                oENTVisitaduria.TipoParticipacionId = Int32.Parse(this.ddlTipoParticipacion.SelectedItem.Value);
                oENTVisitaduria.Check = 1; // Validar el Nombre del control con el Id debido al Bug del Autosuggest
                oENTVisitaduria.CheckNombre = CiudadanoNombre;
                oENTVisitaduria.Presente = Int16.Parse((this.rblPresente.Items[0].Selected ? 1 : 0).ToString());

                // Transacción
                oENTResponse = oBPVisitaduria.InsertExpedienteCiudadano(oENTVisitaduria);

                // Errores y Warnings
                if (oENTResponse.GeneratesException) { throw (new Exception(oENTResponse.sErrorMessage)); }
                if (oENTResponse.sMessage != "") { throw (new Exception(oENTResponse.sMessage));  }

            }catch (Exception ex){
                throw (ex);
            }
        }
        void UpdateRecomendacion_EnviarAutoridadCierre()
        {
            ENTSeguimiento oENTSeguimiento = new ENTSeguimiento();
            ENTResponse oENTResponse = new ENTResponse();
            ENTSession oENTSession = new ENTSession();

            BPSeguimiento oBPSeguimiento = new BPSeguimiento();

            try
            {

                // Validaciones
                if (this.ckeRespuesta.Text.Trim() == "") { throw (new Exception("Es necesario ingresar un detalle en el envío")); }

                // Obtener Sesion
                oENTSession = (ENTSession)this.Session["oENTSession"];

                // Formulario
                oENTSeguimiento.RecomendacionId = Int32.Parse(this.hddRecomendacionId.Value);
                oENTSeguimiento.ModuloId = 4; // Seguimientos
                oENTSeguimiento.UsuarioId = oENTSession.idUsuario;
                oENTSeguimiento.Fecha = this.calFechaRespuesta.DisplayDate;
                oENTSeguimiento.Aceptada = Int16.Parse(this.ddlPopUpRespuesta.SelectedItem.Value);
                oENTSeguimiento.Comentario = this.ckeRespuesta.Text.Trim();

                // Transacción
                oENTResponse = oBPSeguimiento.UpdateRecomendacion_EnvioAutoridadCierre(oENTSeguimiento);

                // Errores y Warnings
                if (oENTResponse.GeneratesException) { throw (new Exception(oENTResponse.sErrorMessage)); }
                if (oENTResponse.sMessage != "") { throw (new Exception(oENTResponse.sMessage)); }

            }catch (Exception ex){
                throw (ex);
            }
        }
        // Funciones el programador
        void InsertExpedienteCalificacionDefinitiva()
        {
            ENTVisitaduria oENTVisitaduria = new ENTVisitaduria();
            ENTResponse oENTResponse = new ENTResponse();
            ENTSession SessionEntity = new ENTSession();

            BPVisitaduria oBPVisitaduria = new BPVisitaduria();

            try
            {

                // Validaciones
                if (this.ckeAcuerdo.Text.Trim() == "") { throw (new Exception("Es necesario ingresar un acuerdo de calificación definitiva")); }

                // Obtener sesión
                SessionEntity = (ENTSession)Session["oENTSession"];

                // Formulario
                oENTVisitaduria.ExpedienteId = Int32.Parse(this.hddExpedienteId.Value);
                oENTVisitaduria.FuncionarioId = SessionEntity.FuncionarioId;
                oENTVisitaduria.Acuerdo = this.ckeAcuerdo.Text.Trim();

                // Transacción
                oENTResponse = oBPVisitaduria.InsertExpedienteCalificacionDefinitiva(oENTVisitaduria);

                // Errores y Warnings
                if (oENTResponse.GeneratesException) { throw (new Exception(oENTResponse.sErrorMessage)); }
                if (oENTResponse.sMessage != "") { throw (new Exception(oENTResponse.sMessage)); }

            }catch (Exception ex){
                throw (ex);
            }
        }
        void SaveForm()
        {
            ENTSession oENTSession = new ENTSession();
            BPSolicitud BPSolicitud = new BPSolicitud();

            try
            {

                // Formulario
                BPSolicitud.SolicitudEntity.Numero = this.txtNumeroSolicitud.Text.Trim();
                BPSolicitud.SolicitudEntity.Nombre = this.txtCiudadano.Text.Trim();
                BPSolicitud.SolicitudEntity.FormaContactoId = Int32.Parse(this.ddlFormaContacto.SelectedValue);
                BPSolicitud.SolicitudEntity.FuncionarioId = Int32.Parse(this.ddlFuncionario.SelectedValue);
                BPSolicitud.SolicitudEntity.FechaDesde = DateTime.Parse(this.wucBeginDate.BeginDate);
                BPSolicitud.SolicitudEntity.FechaHasta = DateTime.Parse(this.wucEndDate.EndDate);

                // Obtener la sesion
                oENTSession = (ENTSession)this.Session["oENTSession"];

                // Guardar el formulario en la sesión
                oENTSession.Entity = BPSolicitud;
                this.Session["oENTSession"] = oENTSession;

            }catch (Exception ex){
                throw (ex);
            }
        }
        // Eventos de la página
        protected void Page_Load(object sender, EventArgs e)
        {
            ENTSession SessionEntity = new ENTSession();

            try
            {

                // Validaciones
                if (Page.IsPostBack) { return; }
                if (this.Request.QueryString["key"] == null) { this.Response.Redirect("~/Application/WebApp/Private/SysApp/saNotificacion.aspx", false); return; }
                if (this.Request.QueryString["key"].ToString().Split(new Char[] { '|' }).Length != 2) { this.Response.Redirect("~/Application/WebApp/Private/SysApp/saNotificacion.aspx", false); return; }

                // Obtener AtencionId
                this.hddSolicitudId.Value = this.Request.QueryString["key"].ToString().Split(new Char[] { '|' })[0];

                // Obtener Sender
                this.SenderId.Value = this.Request.QueryString["key"].ToString().ToString().Split(new Char[] { '|' })[1];

                switch (this.SenderId.Value){
                    case "1": // Invocado desde [Listado de Solicitudes pendientes por Aprobar]
                        this.Sender.Value = "QueListadoSolicitudesAprobacion.aspx";
                        break;

                    default:
                        this.Response.Redirect("~/Application/WebApp/Private/SysApp/saNotificacion.aspx", false);
                        return;
                }

                // Obtener sesión
                SessionEntity = (ENTSession)Session["oENTSession"];

                // Consulta de indicadores
                SelectIndicadores();

                // Consultar detalle de la Solicitud de Quejas
                SelectSolicitud_Cierre();

                // Seguridad
                SetPermisosGenerales(SessionEntity.idRol);

            }catch (Exception ex){
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), Convert.ToString(Guid.NewGuid()), "alert('" + gcJavascript.ClearText(ex.Message) + "');", true);
            }
        }
        // Rutinas del programador
        void RecoveryForm()
        {
            ENTSession oENTSession = new ENTSession();
            BPCiudadano oBPCiudadano;

            try
            {

                // Obtener la sesion
                oENTSession = (ENTSession)this.Session["oENTSession"];

                // Validaciones
                if (oENTSession.Entity == null) { return; }
                if (oENTSession.Entity.GetType().Name != "BPCiudadano") { return; }

                // Obtener Formulario
                oBPCiudadano = (BPCiudadano)oENTSession.Entity;

                // Vaciar formulario
                this.txtNombre.Text = oBPCiudadano.ENTCiudadano.Nombre;
                this.TextBoxPaterno.Text = oBPCiudadano.ENTCiudadano.ApellidoPaterno;
                this.TextBoxMaterno.Text = oBPCiudadano.ENTCiudadano.ApellidoMaterno;
                this.TextBoxCalle.Text = oBPCiudadano.ENTCiudadano.Calle;

                this.BuscadorListaPais.SelectedValue = oBPCiudadano.ENTCiudadano.PaisId.ToString();
                SelectEstado();

                this.BuscadorListaEstado.SelectedValue = oBPCiudadano.ENTCiudadano.EstadoId.ToString();
                SelectCiudad();

                this.BuscadorListaCiudad.SelectedValue = oBPCiudadano.ENTCiudadano.CiudadId.ToString();
                SelectColonia();

                this.BuscadorListaColonia.SelectedValue = oBPCiudadano.ENTCiudadano.ColoniaId.ToString();

                // Liberar el formulario en la sesión
                oENTSession.Entity = null;
                this.Session["oENTSession"] = oENTSession;

                // Realcular
                SelectCiudadano();

            }catch (Exception ex){
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), Convert.ToString(Guid.NewGuid()), "alert('No fue posible recuperar el formulario: " + gcJavascript.ClearText(ex.Message) + "');", true);
            }
        }
        // Rutinas de recuperación de formulario
        void RecoveryForm()
        {
            ENTSession oENTSession = new ENTSession();
            ENTVisitaduria oENTVisitaduria;

            try
            {

                // Obtener la sesion
                oENTSession = (ENTSession)this.Session["oENTSession"];

                // Validaciones
                if (oENTSession.Entity == null) { return; }
                if (oENTSession.Entity.GetType().Name != "ENTVisitaduria") { return; }

                // Obtener Formulario
                oENTVisitaduria = (ENTVisitaduria)oENTSession.Entity;

                // Vaciar formulario
                this.txtNumeroExpediente.Text = oENTVisitaduria.Numero.ToString();
                this.txtCiudadano.Text = oENTVisitaduria.Nombre;
                this.ddlEstatus.SelectedValue = oENTVisitaduria.EstatusId.ToString();
                this.ddlFuncionario.SelectedValue = oENTVisitaduria.FuncionarioId.ToString();
                this.ddlTipoResolucion.SelectedValue = oENTVisitaduria.TipoResolucionId.ToString();
                this.wucBeginDate.SetDateTime = DateTime.Parse(oENTVisitaduria.FechaDesde);
                this.wucEndDate.SetDateTime = DateTime.Parse(oENTVisitaduria.FechaHasta);

                dtBeginDate = oENTVisitaduria.FechaDesde.ToString();
                dtEndDate = oENTVisitaduria.FechaHasta.ToString();

                // Liberar el formulario en la sesión
                oENTSession.Entity = null;
                this.Session["oENTSession"] = oENTSession;

                // Realcular
                SelectExpediente(true);

            }catch (Exception ex){
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), Convert.ToString(Guid.NewGuid()), "alert('No fue posible recuperar el formulario: " + gcJavascript.ClearText(ex.Message) + "');", true);
            }
        }
        void SaveForm()
        {
            ENTSession oENTSession = new ENTSession();
            BPCiudadano BPCiudadano = new BPCiudadano();

            try
            {

                // Formulario
                BPCiudadano.ENTCiudadano.Nombre = this.txtNombre.Text.Trim();
                BPCiudadano.ENTCiudadano.ApellidoPaterno = this.TextBoxPaterno.Text.Trim();
                BPCiudadano.ENTCiudadano.ApellidoMaterno = this.TextBoxMaterno.Text.Trim();
                BPCiudadano.ENTCiudadano.CiudadId = Int32.Parse(this.BuscadorListaCiudad.SelectedValue);
                BPCiudadano.ENTCiudadano.EstadoId = Int32.Parse(this.BuscadorListaEstado.SelectedValue);
                BPCiudadano.ENTCiudadano.PaisId = Int32.Parse(this.BuscadorListaPais.SelectedValue);
                BPCiudadano.ENTCiudadano.ColoniaId = Int32.Parse(this.BuscadorListaColonia.SelectedValue);
                BPCiudadano.ENTCiudadano.Calle = this.TextBoxCalle.Text.Trim();
                BPCiudadano.ENTCiudadano.CampoBusqueda = "";

                // Obtener la sesion
                oENTSession = (ENTSession)this.Session["oENTSession"];

                // Guardar el formulario en la sesión
                oENTSession.Entity = BPCiudadano;
                this.Session["oENTSession"] = oENTSession;

            }catch (Exception ex){
                throw (ex);
            }
        }
        // Eventos de la página
        protected void Page_Load(object sender, EventArgs e)
        {
            ENTSession SessionEntity = new ENTSession();
            String sKey;

            try
            {

                // Validaciones de llamada
                if (Page.IsPostBack) { return; }
                if (this.Request.QueryString["key"] == null) { this.Response.Redirect("~/Application/WebApp/Private/SysApp/saNotificacion.aspx", false); return; }

                // Validaciones de parámetros
                sKey = GetKey(this.Request.QueryString["key"].ToString());
                if (sKey == "") { this.Response.Redirect("~/Application/WebApp/Private/SysApp/saNotificacion.aspx", false); return; }
                if (sKey.ToString().Split(new Char[] { '|' }).Length != 2) { this.Response.Redirect("~/Application/WebApp/Private/SysApp/saNotificacion.aspx", false); return; }

                // Obtener AtencionId
                this.hddExpedienteId.Value = sKey.ToString().Split(new Char[] { '|' })[0];

                // Obtener Sender
                this.SenderId.Value = sKey.ToString().Split(new Char[] { '|' })[1];

                switch (this.SenderId.Value){
                    case "1":
                        this.Sender.Value = "VisBusquedaExpedientes.aspx";
                        break;

                    case "2":
                        this.Sender.Value = "VisListadoExpedientes.aspx";
                        break;

                    case "3":
                        this.Sender.Value = "VisListadoExpedientesEnProceso.aspx";
                        break;

                    default:
                        this.Response.Redirect("~/Application/WebApp/Private/SysApp/saNotificacion.aspx", false);
                        return;
                }

                // Consultar detalle de la Solicitud de Quejas
                SelectExpediente();

                // Obtener sesión
                SessionEntity = (ENTSession)Session["oENTSession"];

                //// Seguridad
                SetPermisosGenerales(SessionEntity.idRol);
                SetPermisosParticulares(SessionEntity.idRol, SessionEntity.FuncionarioId);

            }catch (Exception ex){
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), Convert.ToString(Guid.NewGuid()), "alert('" + gcJavascript.ClearText(ex.Message) + "');", true);
            }
        }
Beispiel #24
0
        // Rutinas de la página
        private void createUserMenu()
        {
            ENTSession oENTSession = new ENTSession();
            DataSet dsMenu;
            String sIDMenu = "";

            AccordionPane oAccordionPane;
            Label lblAccordionHeader;
            HtmlAnchor anchContent;
            Panel pnlContent;
            HiddenField hddContentPageName;

            try
            {

                // Obtener sesion
                oENTSession = (ENTSession)this.Session["oENTSession"];

                // Secciones de Menú
                foreach (DataRow drMenu in oENTSession.tblMenu.Rows){

                    // Obtener el id menu actual
                    sIDMenu = drMenu["idMenu"].ToString();

                    // Nuevo Panel
                    oAccordionPane = new AccordionPane();
                    oAccordionPane.ID = "apnl" + sIDMenu;

                    // Header
                    lblAccordionHeader = new Label();
                    lblAccordionHeader.Text = drMenu["sNombremenu"].ToString();
                    oAccordionPane.HeaderContainer.Controls.Add(lblAccordionHeader);

                    // Content
                    foreach (DataRow drSubMenu in oENTSession.tblSubMenu.Select("idMenu = " + sIDMenu)){

                        // Nuevo panel
                        pnlContent = new Panel();
                        pnlContent.ID = "pnl" + drSubMenu["idSubMenu"].ToString();
                        pnlContent.CssClass = "MenuItem";

                        // Nuevo Anchor
                        anchContent = new HtmlAnchor();
                        anchContent.Title = drSubMenu["sDescripcion"].ToString();
                        anchContent.HRef = this.ResolveUrl(drSubMenu["sURL"].ToString());
                        anchContent.InnerHtml = (char)187 + " " + drSubMenu["sNombreSubMenu"].ToString();

                        // Nuevo campo oculto (nombre de página)
                        hddContentPageName = new HiddenField();
                        hddContentPageName.ID = "hdd" + drSubMenu["idSubMenu"].ToString();
                        hddContentPageName.Value = drSubMenu["sPageName"].ToString();

                        // Agregar contenido al Panel
                        pnlContent.Controls.Add(anchContent);
                        pnlContent.Controls.Add(hddContentPageName);

                        // Agregar contenido al Acordeón
                        oAccordionPane.ContentContainer.Controls.Add(pnlContent);
                    }

                    // Agregar Pane al Acordeón
                    this.acrdMenu.Panes.Add(oAccordionPane);
                }

                // DataSet en ViewState
                dsMenu = new DataSet();
                dsMenu.Tables.Add(oENTSession.tblMenu.Copy());
                dsMenu.Tables.Add(oENTSession.tblSubMenu.Copy());
                this.ViewState["dsMenu"] = dsMenu;

            }catch (Exception ex){
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), Convert.ToString(Guid.NewGuid()), "alert('" + gcJavascript.ClearText(ex.Message) + "');", true);
            }
        }
        void InsertExpedienteComentario()
        {
            BPVisitaduria oBPVisitaduria = new BPVisitaduria();

            ENTVisitaduria oENTVisitaduria = new ENTVisitaduria();
            ENTResponse oENTResponse = new ENTResponse();
            ENTSession SessionEntity = new ENTSession();

            try
            {

                // Validaciones
                if (this.ckeComentario.Text.Trim() == "") { throw (new Exception("Es necesario ingresar un comentario")); }

                // Obtener sesión
                SessionEntity = (ENTSession)Session["oENTSession"];

                // Formulario
                oENTVisitaduria.ExpedienteId = Int32.Parse(this.hddExpedienteId.Value);
                oENTVisitaduria.ModuloId = 3; // Visitadurías
                oENTVisitaduria.UsuarioId = SessionEntity.idUsuario;
                oENTVisitaduria.Comentario = this.ckeComentario.Text.Trim();
                oENTVisitaduria.MedidaPreventiva = Int16.Parse((this.chkMedidaPreventiva.Checked ? 1 : 0).ToString());

                // Transacción
                oENTResponse = oBPVisitaduria.InsertExpedienteComentario(oENTVisitaduria);

                // Errores y Warnings
                if (oENTResponse.GeneratesException) { throw (new Exception(oENTResponse.sErrorMessage)); }
                if (oENTResponse.sMessage != "") { throw (new Exception(oENTResponse.sMessage)); }

            }catch (Exception ex){
                throw (ex);
            }
        }
        protected void gvCiudadano_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            ImageButton imgDelete = null;
            ImageButton imgEdit = null;

            String sCiudadanoId = "";
            String sUsuarioId = "";
            String sNombreCiudadano = "";

            String sToolTip = "";
            String sImagesAttributes = "";

            try
            {

                // Validación de que sea fila
                if (e.Row.RowType != DataControlRowType.DataRow) {
                    oENTSession = (ENTSession)Session["oENTSession"];
                    return;
                }

                // Obtener imagenes
                imgEdit = (ImageButton)e.Row.FindControl("imgEdit");
                imgDelete = (ImageButton)e.Row.FindControl("imgDelete");

                // DataKeys
                sCiudadanoId = gvCiudadano.DataKeys[e.Row.RowIndex]["CiudadanoId"].ToString();
                sUsuarioId = gvCiudadano.DataKeys[e.Row.RowIndex]["UsuarioId"].ToString();
                sNombreCiudadano = this.gvCiudadano.DataKeys[e.Row.RowIndex]["NombreCompleto"].ToString();

                // Si el usuario que está consultando es Funcionario no se permite que elimine ciudadanos que él no haya registrado
                if( oENTSession.idRol == 5 && oENTSession.idUsuario.ToString() != sUsuarioId ){

                    imgDelete.Visible = false;

                    // Tooltip Editar
                    sToolTip = "Editar ciudadano [" + sNombreCiudadano + "]";
                    imgEdit.Attributes.Add("onmouseover", "tooltip.show('" + sToolTip + "', 'Izq');");
                    imgEdit.Attributes.Add("onmouseout", "tooltip.hide();");
                    imgEdit.Attributes.Add("style", "curosr:hand;");

                    // Atributos Over
                    sImagesAttributes = sImagesAttributes + "document.getElementById('" + imgEdit.ClientID + "').src='../../../../Include/Image/Buttons/Edit_Over.png'; ";
                    e.Row.Attributes.Add("onmouseover", "this.className='Grid_Row_Over'; " + sImagesAttributes);

                    // Atributos Out
                    sImagesAttributes = sImagesAttributes + "document.getElementById('" + imgEdit.ClientID + "').src='../../../../Include/Image/Buttons/Edit.png'; ";
                    e.Row.Attributes.Add("onmouseout", "this.className='" + ((e.Row.RowIndex % 2) != 0 ? "Grid_Row_Alternating" : "Grid_Row") + "'; " + sImagesAttributes);

                }else{

                    // Tooltip Editar
                    sToolTip = "Editar ciudadano [" + sNombreCiudadano + "]";
                    imgEdit.Attributes.Add("onmouseover", "tooltip.show('" + sToolTip + "', 'Izq');");
                    imgEdit.Attributes.Add("onmouseout", "tooltip.hide();");
                    imgEdit.Attributes.Add("style", "curosr:hand;");

                    // Tooltip Eliminar
                    sToolTip = "Eliminar de la Solicitud a [" + sNombreCiudadano + "]";
                    imgDelete.Attributes.Add("onmouseover", "tooltip.show('" + sToolTip + "', 'Izq');");
                    imgDelete.Attributes.Add("onmouseout", "tooltip.hide();");
                    imgDelete.Attributes.Add("style", "cursor:hand;");

                    // Atributos Over
                    sImagesAttributes = sImagesAttributes + "document.getElementById('" + imgEdit.ClientID + "').src='../../../../Include/Image/Buttons/Edit_Over.png'; ";
                    sImagesAttributes = sImagesAttributes + "document.getElementById('" + imgDelete.ClientID + "').src='../../../../Include/Image/Buttons/Delete_Over.png'; ";
                    e.Row.Attributes.Add("onmouseover", "this.className='Grid_Row_Over'; " + sImagesAttributes);

                    // Atributos Out
                    sImagesAttributes = sImagesAttributes + "document.getElementById('" + imgEdit.ClientID + "').src='../../../../Include/Image/Buttons/Edit.png'; ";
                    sImagesAttributes = sImagesAttributes + "document.getElementById('" + imgDelete.ClientID + "').src='../../../../Include/Image/Buttons/Delete.png'; ";
                    e.Row.Attributes.Add("onmouseout", "this.className='" + ((e.Row.RowIndex % 2) != 0 ? "Grid_Row_Alternating" : "Grid_Row") + "'; " + sImagesAttributes);

                }

            }catch (Exception ex){
                throw (ex);
            }
        }
Beispiel #27
0
        void UpdateRecomendacion_PublicarDocumento()
        {
            ENTSeguimiento oENTSeguimiento = new ENTSeguimiento();
            ENTResponse oENTResponse = new ENTResponse();
            ENTSession oENTSession = new ENTSession();

            BPSeguimiento oBPSeguimiento = new BPSeguimiento();

            try
            {

                // Validaciones
                if (this.ckePublicar.Text.Trim() == "") { throw (new Exception("Es necesario ingresar un detalle en la impugnación")); }

                // Obtener Sesion
                oENTSession = (ENTSession)this.Session["oENTSession"];

                // Formulario
                oENTSeguimiento.RecomendacionId = Int32.Parse(this.hddRecomendacionId.Value);
                oENTSeguimiento.ModuloId = 4; // Seguimientos
                oENTSeguimiento.UsuarioId = oENTSession.idUsuario;
                oENTSeguimiento.Fecha = this.calFechaPublicar.DisplayDate;
                oENTSeguimiento.Comentario = this.ckePublicar.Text.Trim();

                // Transacción
                oENTResponse = oBPSeguimiento.UpdateRecomendacion_PublicarDocumento(oENTSeguimiento);

                // Errores y Warnings
                if (oENTResponse.GeneratesException) { throw (new Exception(oENTResponse.sErrorMessage)); }
                if (oENTResponse.sMessage != "") { throw (new Exception(oENTResponse.sMessage)); }

            }catch (Exception ex){
                throw (ex);
            }
        }
        void DeleteSolicitudCiudadano(Int32 CiudadanoId)
        {
            BPQueja oBPQueja = new BPQueja();

            ENTQueja oENTQueja = new ENTQueja();
            ENTResponse oENTResponse = new ENTResponse();
            ENTSession SessionEntity = new ENTSession();

            try
            {

                // Obtener la sesión
                SessionEntity = (ENTSession)Session["oENTSession"];

                // Formulario
                oENTQueja.SolicitudId = Int32.Parse(this.hddSolicitudId.Value);
                oENTQueja.FuncionarioId = SessionEntity.FuncionarioId;
                oENTQueja.CiudadanoId = CiudadanoId;

                // Transacción
                oENTResponse = oBPQueja.DeleteSolicitudCiudadano(oENTQueja);

                // Errores y Warnings
                if (oENTResponse.GeneratesException) { throw (new Exception(oENTResponse.sErrorMessage)); }
                if (oENTResponse.sMessage != "") { ScriptManager.RegisterStartupScript(this.Page, this.GetType(), Convert.ToString(Guid.NewGuid()), "alert('" + oENTResponse.sMessage + "');", true); }

            }catch (Exception ex){
                throw (ex);
            }
        }
        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            ENTExpedienteComparecencia oENTExpedienteComparecencia;
            ENTSession oENTSession = new ENTSession();

            DataRow rowServidorPublico;

            String sKey = "";

            try
            {

                // Determinar el tipo de transacción
                if (this.hddServidorPublicoId.Value == "0"){

                    InsertServidorPublico();
                }else {

                    UpdateServidorPublico();
                }

                // Çonfiguración y regreso
                switch (this.SenderId_Level2.Value) {
                    case "1":

                        // Obtener la sesión
                        oENTSession = (ENTSession)this.Session["oENTSession"];
                        oENTExpedienteComparecencia = (ENTExpedienteComparecencia)oENTSession.Entity;

                        // Si no hay registros en el servidor publico definir la tabla
                        if( oENTExpedienteComparecencia.tblServidorPublico.Rows.Count == 0 ){
                            oENTExpedienteComparecencia.tblServidorPublico = new DataTable("tblServidorPublico");
                            oENTExpedienteComparecencia.tblServidorPublico.Columns.Add("ServidorPublicoId", typeof(Int32));
                            oENTExpedienteComparecencia.tblServidorPublico.Columns.Add("NombreCompleto", typeof(String));
                            oENTExpedienteComparecencia.tblServidorPublico.Columns.Add("AutoridadAgrupada", typeof(String));
                        }

                        // Registrar los cambios
                        if ( oENTExpedienteComparecencia.tblServidorPublico.Select("ServidorPublicoId=" + this.hddServidorPublicoId.Value).Length > 0 ){
                            oENTExpedienteComparecencia.tblServidorPublico.Rows.Remove(oENTExpedienteComparecencia.tblServidorPublico.Select("ServidorPublicoId=" + this.hddServidorPublicoId.Value)[0]);
                        }
                        rowServidorPublico = oENTExpedienteComparecencia.tblServidorPublico.NewRow();
                        rowServidorPublico["ServidorPublicoId"] = this.hddServidorPublicoId.Value;
                        rowServidorPublico["NombreCompleto"] = this.txtNombre.Text + " " + this.txtApellidoPaterno.Text + " " + this.txtApellidoMaterno.Text;
                        rowServidorPublico["AutoridadAgrupada"] = "(N1) - " + this.ddlAutoridadNivel1.SelectedItem.Text;
                        if (this.ddlAutoridadNivel2.SelectedIndex > 0) { rowServidorPublico["AutoridadAgrupada"] = rowServidorPublico["AutoridadAgrupada"].ToString() + "<br />(N2) - " + this.ddlAutoridadNivel2.SelectedItem.Text; }
                        if (this.ddlAutoridadNivel3.SelectedIndex > 0) { rowServidorPublico["AutoridadAgrupada"] = rowServidorPublico["AutoridadAgrupada"].ToString() + "<br />(N3) - " + this.ddlAutoridadNivel3.SelectedItem.Text; }
                        oENTExpedienteComparecencia.tblServidorPublico.Rows.Add(rowServidorPublico);

                        // Actualizar la sesión
                        oENTSession.Entity = oENTExpedienteComparecencia;
                        this.Session["oENTSession"] = oENTSession;

                        // Regreso
                        sKey = this.hddExpedienteId.Value + "|" + this.SenderId_Level1.Value;
                        sKey = gcEncryption.EncryptString(sKey, true);
                        this.Response.Redirect("visComparecencia.aspx?key=" + sKey, false);
                        break;
                }

            }catch (Exception ex){
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), Convert.ToString(Guid.NewGuid()), "alert('" + gcJavascript.ClearText(ex.Message) + "'); function pageLoad(){ focusControl('" + this.txtNombre.ClientID + "'); }", true);
            }
        }
        void InsertSolicitudCiudadano()
        {
            BPQueja oBPQueja = new BPQueja();

            ENTQueja oENTQueja = new ENTQueja();
            ENTResponse oENTResponse = new ENTResponse();
            ENTSession SessionEntity = new ENTSession();

            String CiudadanoId;
            String CiudadanoNombre;

            try
            {

                // Obtener información del ciudadano del Autosuggest
                CiudadanoId = this.Request.Form[this.hddCiudadanoId.UniqueID];
                CiudadanoNombre = this.Request.Form[this.txtCiudadano.UniqueID];

                // Normalización
                if (CiudadanoId == "") { CiudadanoId = "0"; }
                CiudadanoNombre = CiudadanoNombre.Trim();

                // Validaciones
                if (CiudadanoNombre == "" ) { throw new Exception("El campo [Nombre del ciudadano] es requerido"); }
                if (this.ddlTipoParticipacion.SelectedItem.Value == "0") { throw new Exception("El campo [Tipo de Participación] es requerido"); }

                // Obtener la sesión
                SessionEntity = (ENTSession)Session["oENTSession"];

                // Formulario
                oENTQueja.SolicitudId = Int32.Parse(this.hddSolicitudId.Value);
                oENTQueja.UsuarioId = SessionEntity.idUsuario;
                oENTQueja.CiudadanoId = Int32.Parse(CiudadanoId);
                oENTQueja.TipoParticipacionId = Int32.Parse(this.ddlTipoParticipacion.SelectedItem.Value);
                oENTQueja.Check = 1; // Validar el Nombre del control con el Id debido al Bug del Autosuggest
                oENTQueja.CheckNombre = CiudadanoNombre;
                oENTQueja.Presente = Int16.Parse((this.rblPresente.Items[0].Selected ? 1 : 0).ToString());

                // Transacción
                oENTResponse = oBPQueja.InsertSolicitudCiudadano(oENTQueja);

                // Errores y Warnings
                if (oENTResponse.GeneratesException) { throw (new Exception(oENTResponse.sErrorMessage)); }
                if (oENTResponse.sMessage != "") { ScriptManager.RegisterStartupScript(this.Page, this.GetType(), Convert.ToString(Guid.NewGuid()), "alert('" + oENTResponse.sMessage + "');", true); }

            }catch (Exception ex){
                throw (ex);
            }
        }