示例#1
0
        public ActionResult AgregarPermisos(string Id)
        {
            int userID = Convert.ToInt32(Id);

            Session["PermisosUsuarioId"] = userID;
            Session["EsInicio"]          = 1;
            PRE_UsuariosAplicacion _usuario = _unitOfWork.GetRepositoryInstance <PRE_UsuariosAplicacion>().GetFirstOrDefault(userID);

            if (_usuario == null)
            {
                return(RedirectToAction("UsuariosAplicacion", "Account"));
            }
            EditUserModel model = new EditUserModel();

            model.UserId         = _usuario.UsuarioId;
            model.Email          = _usuario.Email;
            model.NombreCompleto = _usuario.NombreCompleto;
            model.UserName       = _usuario.NombreUsuario;
            model.Empresas       = _unitOfWork.GetRepositoryInstance <PRE_EmpresasUsuarioAplicacion>()
                                   .GetAllRecordsIQueryable()
                                   .Where(eu => eu.UsuarioID == _usuario.UsuarioId)
                                   .Select(e => e.EmpresaID)
                                   .ToArray();

            ViewData["EmpresaItems"] = FTPresupuestoProvider.GetAllEmpresas();

            return(View(model));
        }
示例#2
0
        public ActionResult EditUsuarioAplicacion(string Id)
        {
            int userID = Convert.ToInt32(Id);
            PRE_UsuariosAplicacion _usuario = _unitOfWork.GetRepositoryInstance <PRE_UsuariosAplicacion>().GetFirstOrDefault(userID);

            if (_usuario == null)
            {
                return(RedirectToAction("UsuariosAplicacion", "Account"));
            }
            EditUserModel model = new EditUserModel();

            model.UserId         = _usuario.UsuarioId;
            model.Email          = _usuario.Email;
            model.NombreCompleto = _usuario.NombreCompleto;
            model.UserName       = _usuario.NombreUsuario;
            //model.Empresas = _unitOfWork.GetRepositoryInstance<PRE_EmpresasUsuarioAplicacion>()
            //    .GetAllRecordsIQueryable()
            //    .Where(eu => eu.UsuarioID == _usuario.UsuarioId)
            //    .Select(e => e.EmpresaID)
            //    .ToArray();

            //ViewData["EmpresaItems"] = FTPresupuestoProvider.GetAllEmpresas();

            model.UserType  = Roles.GetRolesForUser(_usuario.NombreUsuario)[0]; // ESTE NO SE USA EN EL VIEW
            model.UserTypes = Roles.GetRolesForUser(model.UserName);

            ViewData["RolesItems"] = GetRoles();

            return(View(model));
        }
示例#3
0
        public ActionResult EditUsuarioAplicacion(EditUserModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    model.UserTypes = CheckBoxListExtension.GetSelectedValues <string>("RolesUnBound");
                    PRE_UsuariosAplicacion _usuario = _unitOfWork.GetRepositoryInstance <PRE_UsuariosAplicacion>().GetFirstOrDefault(model.UserId);

                    _usuario.Email          = model.Email;
                    _usuario.NombreCompleto = model.NombreCompleto;
                    string[] rolesDelusuario = Roles.GetRolesForUser(model.UserName);
                    foreach (string item in rolesDelusuario)
                    {
                        Roles.RemoveUserFromRole(model.UserName, item);
                    }
                    foreach (string item in model.UserTypes)
                    {
                        Roles.AddUserToRole(model.UserName, item);
                    }

                    if (!string.IsNullOrWhiteSpace(model.Password))
                    {
                        bool changePasswordSucceeded;
                        try
                        {
                            string tokenCambio = WebSecurity.GeneratePasswordResetToken(model.UserName);

                            changePasswordSucceeded = WebSecurity.ResetPassword(tokenCambio, model.Password);
                        }
                        catch (Exception)
                        {
                            changePasswordSucceeded = false;
                        }
                        if (!changePasswordSucceeded)
                        {
                            ViewBag.ErrorMessage = "El password a cambiar es incorrecto";
                        }
                    }

                    _unitOfWork.GetRepositoryInstance <PRE_UsuariosAplicacion>().Update(_usuario);
                    _unitOfWork.SaveChanges();

                    return(RedirectToAction("UsuariosAplicacion", "Account"));
                }
                catch (MembershipCreateUserException e)
                {
                    ViewBag.ErrorMessage = ErrorCodeToString(e.StatusCode);
                }
            }
            else
            {
                ViewBag.ErrorMessage = "La información es incompleta";
            }
            // If we got this far, something failed, redisplay form
            ViewData["RolesItems"] = GetRoles();
            return(View(model));
        }
示例#4
0
        public ActionResult Login(LoginModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                ////RESETEAR PASSWORD DE UN USUARIO
                //string prt = WebSecurity.GeneratePasswordResetToken("Admin");
                //WebSecurity.ResetPassword(prt, "Admin1.0");
                ////**************************************

                if (WebSecurity.Login(model.UserName, model.Password, persistCookie: false))
                {
                    PRE_UsuariosAplicacion _users = _unitOfWork.GetRepositoryInstance <PRE_UsuariosAplicacion>()
                                                    .GetFirstOrDefaultByParameter(u => u.NombreUsuario.ToUpper() == model.UserName.ToUpper());
                    if (_users == null)
                    {
                        ModelState.AddModelError("", "El usuario no existe");
                        ViewBag.ErrorMessage = "El usuario no existe";
                        WebSecurity.Logout();
                        return(View(model));
                    }
                    else
                    {
                        if (!_users.UsuarioActivo)
                        {
                            ModelState.AddModelError("", "El usuario esta marcado como baja, no tiene acceso al sistema");
                            ViewBag.ErrorMessage = "El usuario esta marcado como baja, no tiene acceso al sistema";
                            WebSecurity.Logout();
                            return(View(model));
                        }
                    }
                    return(Redirect(returnUrl ?? "/"));
                }
                else
                {
                    ModelState.AddModelError("", "El nombre de Usuario o password son incorrectos");
                    ViewBag.ErrorMessage = "El nombre de Usuario o password son incorrectos";
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }