public async Task <IActionResult> DeleteUserFromRole(UserToRolesViewModel model) { string message = string.Empty; try { ApplicationUser user = await _userManager.FindByIdAsync(model.UserID); var result = await _userManager.RemoveFromRoleAsync(user, model.RoleName); if (result.Succeeded) { message = AccountOptions.API_Response_Success; } else { message = AccountOptions.API_Response_Failed; } } catch (Exception ex) { message = AccountOptions.API_Response_Exception; } return(Ok(new { Status = message })); }
public async Task <List <UserViewModel> > GetUsersByRole(string rid) { var result = new UserToRolesViewModel(); var getuser = await(from ur in _context.UserRoles join u in _context.Users on ur.UserId equals u.Id join r in _context.Roles on ur.RoleId equals r.Id where r.Id == rid select new UserViewModel { UserID = u.Id, Email = u.Email, FirstName = u.FirstName, LastName = u.LastName, TenanntCode = u.TenantCode, }).ToListAsync(); return(getuser); }
public async Task <IActionResult> SaveUserRoles(UserToRolesViewModel model) { string responseCode = string.Empty; string responseMessage = string.Empty; try { var role = await _roleManager.FindByIdAsync(model.RoleID); var previoususers = await GetUsersByRole(model.RoleID); foreach (var item in previoususers) { _context.UserRoles.Remove(new IdentityUserRole <string> { RoleId = model.RoleID, UserId = item.UserID }); _context.SaveChanges(); } foreach (var item in model.SelectedUsers) { var getuser = await _userManager.FindByNameAsync(item); _context.UserRoles.Add(new IdentityUserRole <string> { RoleId = model.RoleID, UserId = getuser.Id }); _context.SaveChanges(); } responseCode = "Saved"; responseMessage = string.Format(AccountOptions.API_Response_Saved, "User Role"); } catch (Exception ex) { responseCode = "Error"; responseMessage = string.Format(AccountOptions.API_Response_Saved, ex.Message); } return(Ok(new { MessageCode = responseCode, MessageDetails = responseMessage }));; }
public async Task <IActionResult> SaveUserRoles(UserToRolesViewModel model) { string message = string.Empty; try { var user = await _userManager.FindByIdAsync(model.UserID); var previousroles = await _userManager.GetRolesAsync(user); var removeroles = await _userManager.RemoveFromRolesAsync(user, previousroles); if (removeroles.Succeeded) { var result = await _userManager.AddToRolesAsync(user, model.Roles); if (result.Succeeded) { message = AccountOptions.API_Response_Saved; } else { message = AccountOptions.API_Response_Failed; } } else { message = AccountOptions.API_Response_Failed; } } catch (Exception ex) { message = AccountOptions.API_Response_Exception; } return(Ok(new { Status = message })); }