示例#1
0
        public JsonResult AgregarRol(int idRol, ICollection <tbRolesUsuario> RolUsuario)
        {
            var Msj = "";
            IEnumerable <Object> Rol = null;

            try
            {
                if (RolUsuario != null)
                {
                    if (RolUsuario.Count > 0)
                    {
                        foreach (tbRolesUsuario vRolUsuario in RolUsuario)
                        {
                            Rol = db.UDP_Acce_tbRolesUsuario_Insert(idRol, vRolUsuario.rol_Id, Function.GetUser(), Function.DatetimeNow());
                            foreach (UDP_Acce_tbRolesUsuario_Insert_Result item in Rol)
                            {
                                Msj = Convert.ToString(item.MensajeError);
                            }
                        }
                        var Listado = db.SDP_Acce_GetUserRols(Function.GetUser(), "").ToList();
                        Session["UserLoginRols"] = Listado;
                    }
                }
            }
            catch (Exception)
            {
                Msj = "-1";
            }
            return(Json(Msj, JsonRequestBehavior.AllowGet));
        }
示例#2
0
        public JsonResult AgregarObjeto(int idRol, ICollection <tbAccesoRol> RolAcceso)
        {
            var Msj = "";
            IEnumerable <Object> Acceso = null;

            using (TransactionScope Tran = new TransactionScope())
            {
                try
                {
                    if (RolAcceso != null)
                    {
                        if (RolAcceso.Count > 0)
                        {
                            foreach (tbAccesoRol vAccesoRol in RolAcceso)
                            {
                                Acceso = db.UDP_Acce_tbAccesoRol_Insert(idRol, vAccesoRol.obj_Id, Function.GetUser(), Function.DatetimeNow());
                                foreach (UDP_Acce_tbAccesoRol_Insert_Result item in Acceso)
                                {
                                    Msj = Convert.ToString(item.MensajeError);
                                }
                            }
                            var Listado = db.SDP_Acce_GetUserRols(Function.GetUser(), "").ToList();
                            Session["UserLoginRols"] = Listado;
                        }
                    }
                    Tran.Complete();
                }
                catch (Exception)
                {
                    Msj = "-1";
                }
                return(Json(Msj, JsonRequestBehavior.AllowGet));
            }
        }
 public ActionResult Index(tbUsuario Login, string txtPassword)
 {
     try
     {
         var Usuario = db.UDP_Acce_Login(Login.usu_NombreUsuario, txtPassword).ToList();
         if (Usuario.Count > 0)
         {
             foreach (UDP_Acce_Login_Result UserLogin in Usuario)
             {
                 var Listado    = db.SDP_Acce_GetUserRols(UserLogin.usu_Id, "").ToList();
                 var ListadoRol = db.SDP_Acce_GetRolesAsignados(UserLogin.usu_Id).ToList();
                 Session["UserRol"]          = ListadoRol.Count();
                 Session["UserLogin"]        = UserLogin.usu_Id;
                 Session["UserName"]         = UserLogin.usu_NombreUsuario;
                 Session["UserLoginRols"]    = Listado;
                 Session["sesionUsuario"]    = UserLogin;
                 Session["UserLoginEsAdmin"] = UserLogin.usu_EsAdministrador;
                 Session["UserLoginSesion"]  = UserLogin.usu_SesionesValidas;
                 if (!UserLogin.usu_EsActivo)
                 {
                     ModelState.AddModelError("usu_NombreUsuario", "Usuario inactivo, contacte al Administrador");
                     return(View(Login));
                 }
                 if (UserLogin.usu_SesionesValidas == 0)
                 {
                     ModelState.AddModelError("usu_NombreUsuario", "Su contraseña expiró, contacte al Administrador");
                     return(View(Login));
                 }
                 if (UserLogin.usu_SesionesValidas == 1)
                 {
                     return(RedirectToAction("ModificarPass/" + Session["UserLogin"], "Usuario"));
                 }
             }
             return(RedirectToAction("MenuPrincipal", "Menu"));
         }
         else
         {
             ModelState.AddModelError("usu_NombreUsuario", "Usuario o Password incorrecto");
             return(View(Login));
         }
     }
     catch (Exception Ex)
     {
         Ex.Message.ToString();
         return(View(Login));
     }
 }
        public ActionResult Index(tbUsuario Login, string txtPassword)
        {
            try
            {
                var Usuario = db.UDP_Acce_Login(Login.usu_NombreUsuario, txtPassword).ToList();
                //Paso 1: Validar si el usuario existe.
                if (Usuario.Count > 0)
                {
                    foreach (UDP_Acce_Login_Result UserLogin in Usuario)
                    {
                        //Paso 2: Validar que el usuario esté activo.
                        if (UserLogin.usu_EsActivo)
                        {
                            //Paso 3: Validar las sesiones validas.
                            //usu_SesionesValidas == 0 - Necesita contraseña porque ya expiró
                            //usu_SesionesValidas == 1 - Necesita cambiar contraseña
                            //usu_SesionesValidas == 9 - Todo OK
                            if (UserLogin.usu_SesionesValidas == 0)
                            {
                                ModelState.AddModelError("usu_NombreUsuario", "Su contraseña expiró, contacte al Administrador");
                                return(View(Login));
                            }
                            if (UserLogin.usu_SesionesValidas == 1)
                            {
                                return(RedirectToAction("ModificarPass/" + UserLogin.emp_Id, "Usuario"));
                            }

                            //Si todo esta bien, recuperar la informacion del usuario.
                            var Listado    = db.SDP_Acce_GetUserRols(UserLogin.usu_Id, "").ToList();   //Accesos
                            var ListadoRol = db.SDP_Acce_GetRolesAsignados(UserLogin.usu_Id).ToList(); //Rol
                            Session["UserNombreUsuario"]    = UserLogin.usu_NombreUsuario;
                            Session["UserNombresApellidos"] = UserLogin.usu_Nombres + " " + UserLogin.usu_Apellidos;
                            Session["UserLogin"]            = UserLogin.usu_Id;
                            Session["UserLoginEsAdmin"]     = UserLogin.usu_EsAdministrador;
                            Session["UserLoginSesion"]      = UserLogin.usu_SesionesValidas;
                            Session["UserEstado"]           = UserLogin.usu_EsActivo;
                            //Si el usuario no es admin, recuperar la información del rol y sus accesos
                            if (!UserLogin.usu_EsAdministrador)
                            {
                                foreach (SDP_Acce_GetRolesAsignados_Result Rol in ListadoRol)
                                {
                                    Session["UserRolEstado"] = Rol.rol_Estado;
                                }
                                Session["UserLoginRols"] = Listado;
                                Session["UserRol"]       = ListadoRol.Count();
                            }
                        }
                        else
                        {
                            //Si el usuario no es activo que muestre mensaje y retorne al login una vez mas.
                            ModelState.AddModelError("usu_NombreUsuario", "Usuario inactivo, contacte al Administrador");
                            return(View(Login));
                        }
                    }
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    ModelState.AddModelError("usu_NombreUsuario", "Usuario o Password incorrecto");
                    return(View(Login));
                }
            }
            catch (Exception Ex)
            {
                Ex.Message.ToString();
                Function.InsertBitacoraErrores("Login", Ex.Message.ToString(), "Index");
                return(View(Login));
            }
        }