public async Task <JsonResult> EditEmployeeRoles(EmpRolesViewModel EmpRolVM) { ApplicationUser Emp = await userManager.FindByIdAsync(EmpRolVM.EmpId); var EmpCurrentRoles = await userManager.GetRolesAsync(Emp); if (EmpCurrentRoles != null && EmpCurrentRoles.Count > 0) { var removeFromRoles = await userManager.RemoveFromRolesAsync(Emp, EmpCurrentRoles); } foreach (var item in EmpRolVM.EmpRoles) { string roleName = item.role.ToString(); if (item.IsSelected) { var addedToRoles = await userManager.AddToRoleAsync(Emp, item.role.ToString()); } } var isDeptManager = userManager.IsInRoleAsync(Emp, Roles.DepartmentManager.ToString()); if (isDeptManager.Result) { Emp.FK_TeamID = null; Emp.Team = null; var result = await userManager.UpdateAsync(Emp); } return(Json(Emp));; }
public async Task <IActionResult> EditEmployeeRoles(string id) { if (ModelState.IsValid) { ApplicationUser Emp = await userManager.FindByIdAsync(id); //---------Get The Roles before Updating var EmpCurrentRoles = await userManager.GetRolesAsync(Emp); List <IdentityRole> ExistingRoles = roleManager.Roles.ToList(); EmpRolesViewModel EmpRolVM = new EmpRolesViewModel() { EmpId = id }; bool checkFlag = false; foreach (IdentityRole item in ExistingRoles) { checkFlag = false; for (int i = 0; i < EmpCurrentRoles.Count && !checkFlag; i++) { if (item.ToString() == EmpCurrentRoles[i]) { checkFlag = true; EmpRolVM.EmpRoles.Add(new RolesModel() { role = item, IsSelected = true }); } } if (!checkFlag) { EmpRolVM.EmpRoles.Add(new RolesModel() { role = item, IsSelected = false }); } } return(PartialView("_EmploeeRolesPartialView", EmpRolVM)); } return(null); }