protected void agregarRol()
        {
            List <string> res = new List <string>();

            TB_ROL rol = new TB_ROL();

            rol.NOMBRE      = Request.Form["txt_editar_nombre"];
            rol.DESCRIPCION = Request.Form["txt_editar_descripcion"];

            res = new A_ROL().insertRol(rol, ((BLL.Modelos.ModelosVistas.MV_DetalleUsuario)Session["usuario"]).ID_USUARIO);

            if (res != null)
            {
                errores = H_Objetos.ListMensajesToString(res);
            }

            //Después de haber guardado el rol, se procederá a guardar los permisos
            res = guardarPermisos(Request.Form["txt_editar_permisos"], rol);

            if (res != null)
            {
                errores = H_Objetos.ListMensajesToString(res);
                return;
            }

            info = "Rol creado correctamente";
        }
        protected void editarRol()
        {
            List <string> res = new List <string>();

            TB_ROL rol = new TB_ROL();

            rol.ID_ROL      = int.Parse(Request.Form["txt_editar_id_rol"]);
            rol.NOMBRE      = Request.Form["txt_editar_nombre"];
            rol.DESCRIPCION = Request.Form["txt_editar_descripcion"];

            res = new A_ROL().updateRol(rol, ((BLL.Modelos.ModelosVistas.MV_DetalleUsuario)Session["usuario"]).ID_USUARIO);

            if (res != null)
            {
                errores = H_Objetos.ListMensajesToString(res);
                return;
            }

            borrarPermisos(rol);

            //Creando los nuevos permisos
            res = guardarPermisos(Request.Form["txt_editar_permisos"], rol);

            if (res != null)
            {
                errores = H_Objetos.ListMensajesToString(res);
                return;
            }

            info = "Rol actualizado correctamente";
        }
        protected List <string> guardarPermisos(string recursos, TB_ROL rol)
        {
            List <string> err = null;

            if (!string.IsNullOrEmpty(recursos))
            {
                try
                {
                    rol = new A_ROL().getRolByNombre(rol.NOMBRE); //Consultado el rol que acaba de ser guardado

                    string[] r = recursos.Split(',');             //Separando los PK de los recursos por coma

                    foreach (string i in r)
                    {
                        if (!string.IsNullOrEmpty(i))
                        {
                            TB_RECURSO recurso = new TB_RECURSO();
                            recurso.ID_RECURSO = int.Parse(i);
                            err = new A_PERMISO().createPermiso(rol, recurso, ((BLL.Modelos.ModelosVistas.MV_DetalleUsuario)Session["usuario"]).ID_USUARIO);
                        }
                    }
                }
                catch (Exception e)
                {
                    err = new List <string>();
                    err.Add(e.Message);
                }
            }

            return(err);
        }
Exemplo n.º 4
0
        protected void redirigir(int id_usuario, int id_rol)
        {
            A_ROL     r = new A_ROL();
            A_USUARIO u = new A_USUARIO();

            //Guardando la información del usuario en la sesión
            Session["usuario"] = u.getUsuarioDetallesById(id_usuario);

            //Extrayendo el rol del usuario
            string rol = ((MV_DetalleUsuario)Session["usuario"]).NOMBRE_ROL.ToUpper();

            //Redirigiendo hacia la página correcta
            switch (rol)
            {
            case "ADMINISTRADOR":
                Response.RedirectToRoute("AdministrarUsuarios");         //crud de usuarios
                break;

            case "BENEFICIARIO":
                Response.RedirectToRoute("ConsultarPropuestas");         //Consultar propuestas de solución
                break;

            case "CONSULTOR":
                Response.RedirectToRoute("ConsultarBeneficiario");
                break;

            case "COORDINADOR":
                Response.RedirectToRoute("ConsultarBeneficiario");
                break;

            case "FORMULADOR":
                Response.RedirectToRoute("RegistrarExperiencia");
                break;

            case "COMITÉ EVALUADOR":
                Response.RedirectToRoute("ConsultarIniciativa");
                break;

            case "PRESIDENTE":
                Response.RedirectToRoute("ConsultarIniciativa");
                break;
            }
        }
        protected void eliminarRol()
        {
            string res;

            TB_ROL rol = new TB_ROL();

            rol.ID_ROL = int.Parse(Request.Form["txt_borrar_id_rol"]);

            borrarPermisos(rol);

            res = new A_ROL().softDeleteRol(rol, ((BLL.Modelos.ModelosVistas.MV_DetalleUsuario)Session["usuario"]).ID_USUARIO);

            if (!string.IsNullOrEmpty(res))
            {
                errores = res;
                return;
            }

            info = "Rol eliminado correctamente";
        }
Exemplo n.º 6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                A_ROL     r = new A_ROL();
                A_USUARIO u = new A_USUARIO();

                if (Session["usuario"] == null)
                {
                    Response.StatusCode = 403;
                    Response.RedirectToRoute("Login");
                    return;
                }

                switch (u.getEstadoSesion(((MV_DetalleUsuario)Session["usuario"]).ID_USUARIO, Session.SessionID))
                {
                case A_USUARIO.SESION_EXISTENTE:
                    lbl_tipo_usuario.Text = r.getRolById(((MV_DetalleUsuario)Session["usuario"]).ID_ROL).NOMBRE;
                    break;

                default:
                    Response.StatusCode = 403;
                    Response.RedirectToRoute("Login");
                    break;
                }

                // Buscando si el usuario está autorizado para acceder a la página solicitada
                var path = Request.Url.AbsolutePath;    //Extrayendo URL

                if (!isAuthorized(path))
                {
                    Response.StatusCode      = 403;
                    Response.SuppressContent = true;
                    Response.RedirectToRoute("Login");
                }

                //Finalmente, si el usuario está autorizado, cargará sus notificaciones
                notificaciones = A_NOTIFICACION.ObtenerNotificacionesNuevas(((MV_DetalleUsuario)Session["usuario"]).ID_USUARIO);
                A_NOTIFICACION.ActualizarNotificacionesLeido(((MV_DetalleUsuario)Session["usuario"]).ID_USUARIO);
            }
        }
Exemplo n.º 7
0
        protected void RegistrarFormuladorClick(object sender, EventArgs e)
        {
            var aUsuario = new A_USUARIO();
            var aPersona = new A_PERSONA();
            var aRol     = new A_ROL();

            var aFormulador = new A_FORMULADOR();

            lbl_error_password2.Text = "";
            lbl_errorCorreo.Text     = "";

            if (txt_pass1.Text != txt_pass2.Text)
            {
                lbl_error_password2.Text      = "Las contraseñas deben coincidir";
                lbl_error_password2.ForeColor = System.Drawing.Color.Red;
                return;
            }
            else
            {
                if (aPersona.EsCorreoUnico(txt_correo.Text) == 1)
                {
                    lbl_errorCorreo.Text = "Este correo ya fue registrado anteriormente";
                    return;
                }
            }



            var persona = new TB_PERSONA
            {
                NOMBRES   = txt_nombre.Text,
                APELLIDOS = txt_apellido.Text,
                CORREO_E  = txt_correo.Text,
                DIRECCION = txt_dir.Text,
                TEL_FIJO  = txt_tel.Text,
                TEL_CEL   = txt_cel.Text
            };

            var idRol = aRol.getRolByNombre("Formulador").ID_ROL;
            var res   = new MV_Exception();

            res = aPersona.AlmacenarPersona(persona, 0);

            if (res.IDENTITY != null)
            {
                int idPersona = Convert.ToInt32(res.IDENTITY);

                var usuario = new TB_USUARIO
                {
                    NOMBRE_USUARIO = txt_correo.Text,
                    ID_PERSONA     = idPersona,
                    ID_ROL         = idRol,
                    CONTRASENA     = txt_pass1.Text
                };

                res = aUsuario.createUsuario(usuario, 0);

                int idUsuario = Convert.ToInt32(res.IDENTITY);

                var formulador = new TB_FORMULADOR
                {
                    ID_PERSONA        = idPersona,
                    GRADO_ACADEMICO   = txt_grado.Text,
                    ANIOS_EXPERIENCIA = Convert.ToInt16(txt_experiencia.Text),
                    ACTIVO            = false
                };

                res = aFormulador.insertFormulador(formulador, idUsuario);
                formulador.ID_FORMULADOR = Convert.ToInt32(res.IDENTITY);
                A_NOTIFICACION.GuardarNotificacion(A_USUARIO.obtenerCoordinador().ID_USUARIO, 0, "IF02");
                ScriptManager.RegisterStartupScript(this, GetType(), "Pop", "ShowMessage('Registro de formulador exitoso, ahora debera agregar su experiencia al momento de loguearse', 'success');", true);
                btn.Visible = false;
            }
            else
            {
                ScriptManager.RegisterStartupScript(this, GetType(), "Pop", "ShowMessage('Error al guardar el registro de datos personales</strong>', 'error');", true);
            }
        }