public async Task <IActionResult> Assign(int userId) { var user = await UserManager.Users.SingleOrDefaultAsync(u => u.Id == userId); var roles = await _roleManager.Roles.ToListAsync(); var userRoles = await UserManager.GetRolesAsync(user); UserRoleAssignDto userRoleAssignDto = new UserRoleAssignDto() { UserId = user.Id, UserName = user.UserName, }; foreach (var role in roles) { RoleAssignDto rolesAssignDto = new RoleAssignDto() { RoleId = role.Id, RoleName = role.Name, HasRole = userRoles.Contains(role.Name) }; userRoleAssignDto.RoleAssignDtos.Add(rolesAssignDto); } return(PartialView("_RoleAssignPartial", userRoleAssignDto)); }
public async Task <IActionResult> Assign(int userId) { var user = await UserManager.Users.SingleOrDefaultAsync(u => u.Id == userId); var roles = await _roleManager.Roles.ToListAsync(); // GetRolesAsync : Bize verilen kullanıcının rollerini döner var userRoles = await UserManager.GetRolesAsync(user); UserRoleAssignDto userRoleAssignDto = new UserRoleAssignDto { UserId = user.Id, UserName = user.UserName }; foreach (var role in roles) { RoleAssignDto rolesAssignDto = new RoleAssignDto { RoleId = role.Id, RoleName = role.Name, // Sende bu rol ismi varsa sen bu role sahibsin demektir ve o role sahip olup olmadığı hasrole true/false olarak belirlenecektr HasRole = userRoles.Contains(role.Name) }; userRoleAssignDto.RoleAssignDtos.Add(rolesAssignDto); } return(PartialView("_RoleAssignPartial", userRoleAssignDto)); }
public async Task <IActionResult> Assign(UserRoleAssignDto userRoleAssignDto) { if (ModelState.IsValid) { var user = UserManager.Users.SingleOrDefault(u => u.Id == userRoleAssignDto.UserId); foreach (var roleAssignDto in userRoleAssignDto.RoleAssignDtos) { if (roleAssignDto.HasRole) { await UserManager.AddToRoleAsync(user, roleAssignDto.RoleName); } else { await UserManager.RemoveFromRoleAsync(user, roleAssignDto.RoleName); } } await UserManager.UpdateSecurityStampAsync(user); var userRoleAssignAjaxViewModel = JsonSerializer.Serialize(new UserRoleAssignAjaxViewModel { UserDto = new UserDto { User = user, Message = $"{user.UserName} kullanıcısına ait rol atama işlemi başarıyla tamamlanmıştır.", ResultStatus = ResultStatus.Success }, RoleAssignPartial = await this.RenderViewToStringAsync("_RoleAssignPartial", userRoleAssignDto) }); return(Json(userRoleAssignAjaxViewModel)); } else { var userRoleAjaxErrorModel = JsonSerializer.Serialize(new UserRoleAssignAjaxViewModel { RoleAssignPartial = await this.RenderViewToStringAsync("_RoleAssignPartial", userRoleAssignDto), UserRoleAssignDto = userRoleAssignDto }); return(Json(userRoleAjaxErrorModel)); } }
public async Task <IActionResult> Assign(UserRoleAssignDto userRoleAssignDto) { if (ModelState.IsValid) { var user = await UserManager.Users.SingleOrDefaultAsync(u => u.Id == userRoleAssignDto.UserId); foreach (var roleAssignDto in userRoleAssignDto.RoleAssignDtos) { if (roleAssignDto.HasRole) { await UserManager.AddToRoleAsync(user, roleAssignDto.RoleName); } else { await UserManager.RemoveFromRoleAsync(user, roleAssignDto.RoleName); } } // burada güncelleme kullanıcıya otomatik atanır ve 30 dk da bir kontrol gerçekleştirilir. Bu kontrolden sonra kullanıcıya gerekli atamalar yapılır. await UserManager.UpdateSecurityStampAsync(user); var userRoleAssignAjaxViewModel = JsonSerializer.Serialize(new UserRoleAssignAjaxViewModel { UserDto = new UserDto { User = user, Message = $"{user.UserName} kullanıcısına ait rol atama işlemi başarıyla tamamlanmıştır.", ResultStatus = ResultStatus.Success }, RoleAssignPartial = await this.RenderViewToStringAsync("_RoleAssignPartial", userRoleAssignDto) }); return(Json(userRoleAssignAjaxViewModel)); } else { var userRoleAssignAjaxErrorModel = JsonSerializer.Serialize(new UserRoleAssignAjaxViewModel { RoleAssignPartial = await this.RenderViewToStringAsync("_RoleAssignPartial", userRoleAssignDto), UserRoleAssignDto = userRoleAssignDto }); return(Json(userRoleAssignAjaxErrorModel)); } }