public IActionResult Users() { List <ApplicationUserListViewModel> vm = new List <ApplicationUserListViewModel>(); ApplicationUser[] users = _userManager.Users.ToArray(); for (var i = 0; i < users.Length; i++) { ApplicationUser u = users[i]; var roles = string.Join(", ", _userManager.GetRolesAsync(u).Result); var user = new ApplicationUserListViewModel { Id = u.Id, Name = u.Name, Username = u.UserName, Email = u.Email, Roles = string.Join(", ", roles) }; vm.Add(user); } vm = vm.OrderBy(u => u.Username).ToList(); return(View("Users", vm)); }
public async Task <IActionResult> Create(ApplicationUserListViewModel applicationUser) { applicationUser.UserName = applicationUser.Email; applicationUser.AvailableOrganizations = context.Organizations.Select(r => new SelectListItem { Text = r.Name, Value = r.Id }).ToList(); applicationUser.AvailableRoles = roleManager.Roles.Select(r => new SelectListItem { Text = r.Name, Value = r.Name }).ToList(); if (ModelState.IsValid) { if (await userManager.FindByNameAsync(applicationUser.UserName) == null) { var result = await userManager.CreateAsync(applicationUser); if (result.Succeeded) { await userManager.AddPasswordAsync(applicationUser, applicationUser.Password); await userManager.AddToRoleAsync(applicationUser, applicationUser.ApplicationRoleId); } return(RedirectToAction(nameof(Index))); } } return(View(applicationUser)); }
public async Task <IActionResult> Deactivate(string id, ApplicationUserListViewModel model) { var applicationUser = await _userManager.FindByIdAsync(model.Id); await _userManager.SetLockoutEndDateAsync(applicationUser, DateTime.Today.AddYears(10)); await _context.SaveChangesAsync(); return(RedirectToAction("Index")); }
// GET: ApplicationRoles/Edit/5 public async Task <IActionResult> Edit(string id) { if (id == null) { return(NotFound()); } ApplicationUser applicationUser = await context.ApplicationUser.FindAsync(id); if (applicationUser == null) { return(NotFound()); } ApplicationUserListViewModel model = new ApplicationUserListViewModel(); model.UserName = applicationUser.UserName; model.Email = applicationUser.Email; model.FirstName = applicationUser.FirstName; model.LastName = applicationUser.LastName; model.OrganizationId = applicationUser.OrganizationId; var lrole = context.UserRoles.Where(y => y.UserId == id); string roleName = ""; if (lrole.Count() != 0) { string roleid = lrole.FirstOrDefault().RoleId; if (roleid != "") { ApplicationRole role = context.ApplicationRole.Find(roleid); roleName = role.Name; } } model.ApplicationRoleId = roleName; model.AvailableOrganizations = context.Organizations.Select(r => new SelectListItem { Text = r.Name, Value = r.Id }).ToList(); model.AvailableRoles = roleManager.Roles.Select(r => new SelectListItem { Text = r.Name, Value = r.Name }).ToList(); return(View(model)); }
public IActionResult Create() { ApplicationUserListViewModel model = new ApplicationUserListViewModel(); model.AvailableOrganizations = context.Organizations.Select(r => new SelectListItem { Text = r.Name, Value = r.Id }).ToList(); model.AvailableRoles = roleManager.Roles.Select(r => new SelectListItem { Text = r.Name, Value = r.Name }).ToList(); return(View(model)); }
public async Task <IActionResult> Edit(ApplicationUserListViewModel applicationUser) { applicationUser.AvailableOrganizations = context.Organizations.Select(r => new SelectListItem { Text = r.Name, Value = r.Id }).ToList(); applicationUser.AvailableRoles = roleManager.Roles.Select(r => new SelectListItem { Text = r.Name, Value = r.Name }).ToList(); if (ModelState.IsValid) { ApplicationUser user = await userManager.FindByIdAsync(applicationUser.Id); if (user != null) { user.FirstName = applicationUser.FirstName; user.LastName = applicationUser.LastName; user.OrganizationId = applicationUser.OrganizationId; var lRole = userManager.GetRolesAsync(user).Result; string existingRole = lRole.Count() == 0 ? "":lRole.Single(); IdentityResult result = await userManager.UpdateAsync(user); if (result.Succeeded) { if (existingRole != applicationUser.ApplicationRoleId) { if (existingRole != "") { await userManager.RemoveFromRoleAsync(user, existingRole); } await userManager.AddToRoleAsync(user, applicationUser.ApplicationRoleId); } return(RedirectToAction("Index")); } } } return(View(applicationUser)); }