public async Task <IActionResult> EditRole(EditRoleVieModel model) { var role = await roleManager.FindByIdAsync(model.Id); if (role == null) { ViewBag.ErrorMessage = $"Role with ID = {model.Id} cannot be found"; return(View("NotFound")); } else { role.Name = model.Name; var result = await roleManager.UpdateAsync(role); if (result.Succeeded) { return(RedirectToAction("listroles")); } foreach (var error in result.Errors) { ModelState.AddModelError("", error.Description); } return(View(model)); } }
public async Task <IActionResult> EditUsersInRole(EditRoleVieModel RoleVieModel) { try { var role = await _rolesRepository.GetRoleById(RoleVieModel.Id); List <ApiResponse> results = new List <ApiResponse>(); foreach (var user in RoleVieModel.Users) { IdentityResult identityResult = null; if (user.UserName == null) { continue; } try { Employee applicationUser = await _userRepository.GetUserByUserName(user.UserName); if (user.IsSelected && !(await _userRepository.CheckUserIsMemberofRole(applicationUser, role.Name))) { identityResult = await _userRepository.AddRole(applicationUser, role.Name); } else if (!user.IsSelected && (await _userRepository.CheckUserIsMemberofRole(applicationUser, role.Name))) { identityResult = await _userRepository.RemoveUserRole(applicationUser, role.Name); } else { continue; } } catch (Exception x) { return(StatusCode(StatusCodes.Status500InternalServerError)); } //results.Add(identityResult); } return(Ok(new ApiResponse() { Succeeded = true })); } catch (Exception x) { return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public IActionResult EditRole(EditRoleVieModel RoleVieModel) { HttpClient httpClient = _httpClientFactory.CreateClient("EmpMGMTClient"); httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", HttpContext.Session.GetString("token")?.ToString()); string strCreateRoleView = JsonConvert.SerializeObject(RoleVieModel); StringContent content = new StringContent(strCreateRoleView, Encoding.UTF8, "application/json"); HttpResponseMessage response = httpClient.PostAsync("api/Users/UpdateUsersInRole", content).Result; if (!response.IsSuccessStatusCode) { return(StatusCode((int)response.StatusCode)); } var jsonResult = response.Content.ReadAsStringAsync().Result; var jsonResonse = JsonConvert.DeserializeObject <ApiResponse>(jsonResult); return(RedirectToAction("GetRoles")); }
public async Task <IActionResult> EditRole(string Id) { var role = await roleManager.FindByIdAsync(Id); if (role == null) { ViewBag.ErrorMessage = $"Role with ID = {Id} cannot be found"; return(View("NotFound")); } var model = new EditRoleVieModel { Id = role.Id, Name = role.Name }; foreach (var user in userManager.Users) { if (await userManager.IsInRoleAsync(user, role.Name)) { model.UserNames.Add(user.UserName); } } return(View(model)); }