public async Task <ActionResult> Delete(CheckboxListModel model) { foreach (var user in await GetSelectedUsers(model)) { await userManager.DeleteAsync(user); } return(RedirectToAction("Index")); }
public async Task <IActionResult> Unblock(CheckboxListModel model) { string current = User.Identity.Name; if (current != null) { return(await ChangeStatus(current, model, Unblocked)); } return(RedirectToAction("Login", "Account")); }
private void DeleteUsers(string current, CheckboxListModel model, List <User> users, ref bool shouldQuit) { for (int i = 0; i < model.Selected.Count; i++) { if (!DeleteUser(model.Selected[i], users[i], current)) { shouldQuit = true; } } }
public async Task <ActionResult> MakeAdmin(CheckboxListModel model) { foreach (var user in await GetSelectedUsers(model)) { await DeleteAllRolesAsync(user); await userManager.AddToRoleAsync(user, UserRoles.admin.ToString()); } return(RedirectToAction("Index")); }
public async Task <ActionResult> Unlock(CheckboxListModel model) { foreach (var user in await GetSelectedUsers(model)) { await userManager.SetLockoutEnabledAsync(user, false); await userManager.ResetAccessFailedCountAsync(user); } return(RedirectToAction("Index")); }
public async Task <IActionResult> ChangeStatus(string current, CheckboxListModel model, string status) { bool blockYourself = ChangeUsersStatus(model, db.Users.ToList(), current, status); await db.SaveChangesAsync(); if (blockYourself || db.Users.FirstOrDefault(u => u.Email == current).Status == Blocked) { return(await Logout()); } return(RedirectToAction("Enter", "Home")); }
private bool ChangeUsersStatus(CheckboxListModel model, List <User> users, string current, string status) { for (int i = 0; i < model.Selected.Count; i++) { if (!ChangeUserStatus(model.Selected[i], users[i], current, status)) { return(true); } } return(false); }
public async Task <ActionResult> Lock(CheckboxListModel model) { foreach (var user in await GetSelectedUsers(model)) { await userManager.SetLockoutEnabledAsync(user, true); await userManager.SetLockoutEndDateAsync(user, DateTimeOffset.MaxValue); } return(RedirectToAction("Index")); }
public IActionResult Enter() { ViewBag.Items = db.Users.ToArray(); var model = new CheckboxListModel { Selected = new List <bool>() }; for (int i = 0; i < db.Users.Count(); i++) { model.Selected.Add(false); } return(View(model)); }
private async Task <IActionResult> DeleteUsersAsync(string current, CheckboxListModel model, List <User> users) { bool shouldQuit = false; DeleteUsers(current, model, users, ref shouldQuit); await db.SaveChangesAsync(); if (shouldQuit) { return(await Logout()); } return(RedirectToAction("Enter", "Home")); }
public async Task <IActionResult> IndexAsync() { List <UserModel> usersList = new List <UserModel>(); await AddUsersAsync(userManager.Users, usersList); ViewBag.Users = usersList; var model = new CheckboxListModel { Selected = new List <bool>(new bool[usersList.Count]) }; return(View(model)); }
public async Task <IActionResult> Delete(CheckboxListModel model) { string current = User.Identity.Name; if (current != null) { if (db.Users.FirstOrDefault(u => u.Email == current).Status == Blocked) { return(await Logout()); } return(await DeleteUsersAsync(current, model, await db.Users.ToListAsync())); } return(RedirectToAction("Login", "Account")); }
public async Task <IList <IdentityUser> > GetSelectedUsers(CheckboxListModel model) { var result = new List <IdentityUser>(); IdentityUser currentUser = await userManager.GetUserAsync(HttpContext.User); var users = userManager.Users.ToList(); for (int i = 0; i < users.Count; i++) { if (model.Selected[i] && users[i].Id != currentUser.Id) { result.Add(users[i]); } } return(result); }