Ejemplo n.º 1
0
        public ActionResult ModificarPass([Bind(Include = "usu_Id,usu_NombreUsuario,usu_Nombres,usu_Apellidos,usu_Correo,ConfirmarPassword,suc_Id")] tbUsuario tbUsuario, string usu_Password, string txtPassword)
        {
            ModelState.Remove("usu_Password");
            if (ModelState.IsValid)
            {
                try
                {
                    IEnumerable <object> List = null;
                    var MsjError     = "0";
                    var credenciales = db.UDP_Acce_Login(tbUsuario.usu_NombreUsuario, txtPassword).ToList();
                    if (credenciales.Count > 0)
                    {
                        List = db.UDP_Acce_tbUsuario_PasswordUpdate(tbUsuario.usu_Id, usu_Password);

                        foreach (UDP_Acce_tbUsuario_PasswordUpdate_Result Usuario in List)
                        {
                            MsjError = Usuario.MensajeError;
                        }

                        if (MsjError.StartsWith("-1"))
                        {
                            ModelState.AddModelError("", "No se guardó el registro , contacte al Administrador");
                            return(View(tbUsuario));
                        }
                        else
                        {
                            Session.Clear();
                            Session.Abandon();
                            Response.Buffer          = true;
                            Response.ExpiresAbsolute = Function.DatetimeNow().AddDays(-1D);
                            Response.Expires         = -1500;
                            Response.CacheControl    = "no-cache";
                            Response.Cache.SetCacheability(HttpCacheability.NoCache);
                            AuthenticationManager.SignOut();
                            Session["UserLogin"]        = null;
                            Session["UserLoginRols"]    = null;
                            Session["UserLoginEsAdmin"] = null;
                            return(RedirectToAction("Index", "Login"));
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("usu_NombreUsuario", "Contraseña incorrecta");
                        return(View(tbUsuario));
                    }
                }
                catch (Exception Ex)
                {
                    Ex.Message.ToString();
                    ModelState.AddModelError("", "No se guardó el registro , contacte al Administrador");
                    return(View(tbUsuario));
                }
            }
            else
            {
                var errors = ModelState.Values.SelectMany(v => v.Errors);
            }
            return(View(tbUsuario));
        }
        //Cualquier usuario puede modificar su contrasenia
        public ActionResult ModificarPass([Bind(Include = "usu_Id,usu_NombreUsuario,usu_Nombres,usu_Apellidos,usu_Correo,ConfirmarPassword,suc_Id")] tbUsuario tbUsuario, string usu_Password, string txtPassword)
        {
            ModelState.Remove("usu_Password");
            if (ModelState.IsValid)
            {
                try
                {
                    IEnumerable <object> List = null;
                    var MsjError     = "0";
                    var credenciales = db.UDP_Acce_Login(tbUsuario.usu_NombreUsuario, txtPassword).ToList();
                    if (credenciales.Count > 0)
                    {
                        List = db.UDP_Acce_tbUsuario_PasswordUpdate(tbUsuario.usu_Id, usu_Password);

                        foreach (UDP_Acce_tbUsuario_PasswordUpdate_Result Usuario in List)
                        {
                            MsjError = Usuario.MensajeError;
                        }

                        if (MsjError.StartsWith("-1"))
                        {
                            ModelState.AddModelError("", "No se guardó el registro , contacte al Administrador");
                            return(View(tbUsuario));
                        }
                        else
                        {
                            Help.fCerrarSesion();
                            return(RedirectToAction("Index", "Login"));
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("usu_NombreUsuario", "Contraseña incorrecta");
                        return(View(tbUsuario));
                    }
                }
                catch (Exception Ex)
                {
                    Ex.Message.ToString();
                    ModelState.AddModelError("", "No se guardó el registro , contacte al Administrador");
                    return(View(tbUsuario));
                }
            }
            else
            {
                var errors = ModelState.Values.SelectMany(v => v.Errors);
            }
            return(View(tbUsuario));
        }
 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));
            }
        }
Ejemplo n.º 5
0
        public JsonResult Reconteo(int id, string User_NombreUsuario, string User_Password)
        {
            try
            {
                var incorrecto  = "";
                var rol         = 0;
                var usuid       = 0;
                var idparametro = 0;
                var parametro   = db.tbParametro.ToList();
                foreach (tbParametro idpara in parametro)
                {
                    idparametro = idpara.par_RolAuditor;
                }
                var credenciales = db.UDP_Acce_Login(User_NombreUsuario, User_Password).ToList();
                foreach (UDP_Acce_Login_Result usuario in credenciales)
                {
                    usuid = usuario.usu_Id;
                }
                if (credenciales.Count > 0)
                {
                    var lista = db.SDP_Acce_GetRolesAsignados(usuid).ToList();
                    foreach (SDP_Acce_GetRolesAsignados_Result roles in lista)
                    {
                        rol = roles.rol_Id;
                    }
                    if (rol == idparametro)
                    {
                    }
                    else
                    {
                        incorrecto = "incorrecto";
                        return(Json(incorrecto));
                    }
                }
                else
                {
                    return(Json(incorrecto));
                }

                tbInventarioFisico   obj  = db.tbInventarioFisico.Find(id);
                IEnumerable <object> list = null;
                var MsjError = "";
                list = db.UDP_Inv_tbInventarioFisico_Update_Estado(id, Models.Helpers.InvFisicoReconteo, Function.GetUser(), Function.DatetimeNow());
                foreach (UDP_Inv_tbInventarioFisico_Update_Estado_Result obje in list)
                {
                    MsjError = obje.MensajeError;
                }

                if (MsjError == "-1")
                {
                    ModelState.AddModelError("", "No se Actualizo el registro");
                    return(Json("Edit/" + id));
                }
                else
                {
                    return(Json("Edit/" + id));
                }
            }
            catch (Exception Ex)
            {
                Ex.Message.ToString();
                ModelState.AddModelError("", "No se Actualizo el registro");
                return(Json("Edit/" + id));
            }
        }