Exemplo n.º 1
0
        public async Task <ActionResult> LockoutUserAsync(LockoutUserViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(HttpNotFound());
            }
            var result = await UserManager.SetLockoutEnabledAsync(model.UserId, true);

            TempData["message"] = "Ошибка";
            if (result.Succeeded)
            {
                var user = _userProfileService.GetUserProfile(u => u.Id == model.UserId, i => i.ApplicationUser);
                user.LockoutReason = model.LockoutReason;
                await UserManager.SetLockoutEndDateAsync(model.UserId, DateTimeOffset.MaxValue);

                var updateStampResult = await UserManager.UpdateSecurityStampAsync(model.UserId);

                _userProfileService.SaveUserProfile();
                if (result.Succeeded && updateStampResult.Succeeded)
                {
                    TempData["message"] = "Пользователь заблокирован";
                }
            }
            return(RedirectToAction("UserList"));
        }
Exemplo n.º 2
0
 public ActionResult LockoutUserAsync(string id)
 {
     if (id != null)
     {
         var model = new LockoutUserViewModel()
         {
             UserId = id
         };
         return(View(model));
     }
     return(HttpNotFound());
 }
        public async Task <ActionResult> Lockout(string id)
        {
            var user = await UserManager.FindByIdAsync(id);

            if (user == null)
            {
                return(HttpNotFound("User not found."));
            }

            var model = new LockoutUserViewModel(user);

            model.Properties.IsLockedOut = await UserManager.IsLockedOutAsync(user.Id);

            return(View(model));
        }
        public async Task <ActionResult> Lockout(
            string id,
            [Bind(Prefix = "Properties")] FaToolLockoutProperties properties)
        {
            var user = await UserManager.FindByIdAsync(id);

            if (user == null)
            {
                return(HttpNotFound("User not found."));
            }

            if (ModelState.IsValid)
            {
                IdentityResult result;

                if (properties.IsLockedOut)
                {
                    result = await UserManager.LockAccountAsync(user, null);
                }
                else
                {
                    result = await UserManager.UnlockAccountAsync(user);
                }

                if (result.Succeeded)
                {
                    return(Redirect(ShowUserAction(user).Url));
                }
                else
                {
                    AddErrors(result);
                    var model = new LockoutUserViewModel(user, properties);
                    return(View(model));
                }
            }
            else
            {
                var model = new LockoutUserViewModel(user, properties);
                return(View(model));
            }
        }