public async Task <ActionResult> Details(IdentityRoleVM rolePar) { var role = await _repo.FindById(rolePar.Id); if (role == null) { return(NotFound()); } var isSuccess = await _repo.AddUserByRole(role.Id, rolePar.NewUserName); var users = await _repo.FindAllUsersByRole(rolePar.Id); if (users.Count > 0) { rolePar.Users = users.ToList(); } else { rolePar.Users = new List <ApplicationUser>(); } if (!isSuccess) { ModelState.AddModelError(string.Empty, "Could not add " + rolePar.NewUserName); } return(View(rolePar)); }
public async Task <ActionResult> Edit(IdentityRoleVM role) { try { if (!ModelState.IsValid) { return(View(role)); } var model = await _repo.FindById(role.Id); if (model != null && role != null) { model.Name = role.Name; } var result = await _repo.Update(model); if (result != string.Empty) { return(RedirectToAction(nameof(Details), new { id = result })); } } catch (Exception x) { ModelState.AddModelError(string.Empty, x.InnerException.Message); } return(View(role)); }
public IActionResult Create([Bind("RoleName")] IdentityRoleVM role) { if (ModelState.IsValid) { CreateRole(role.RoleName); return(RedirectToAction(nameof(Index))); } return(View(role)); }
public async Task <List <IdentityUserVM> > GetUserByRole(IdentityRoleVM role) { List <IdentityUserVM> users = new List <IdentityUserVM>(); foreach (var i in _context.Users) { users.Add(new IdentityUserVM { UserID = i.Id, UserName = i.UserName, Roles = await _userManager.GetRolesAsync(i) }); } return(users.Where(u => u.Roles.Contains(role.RoleName)).ToList()); }
public async Task <ActionResult> Create(IdentityRoleVM role) { try { if (!ModelState.IsValid) { return(View(role)); } var model = new IdentityRole(role.Name); var result = await _repo.Create(model); if (result != string.Empty) { return(RedirectToAction(nameof(Details), new { id = result })); } } catch (Exception x) { ModelState.AddModelError(string.Empty, x.InnerException.Message); } return(View(role)); }
public IActionResult Create() { IdentityRoleVM role = new IdentityRoleVM(); return(View(role)); }