public async Task <IActionResult> ChangeRole(RoleFieldModel model) { string confirmText = null; var returnModel = await getUserProps(model.UserName); return(PartialView("Settings/NameField", new NameFieldModel() { FirstName = returnModel.FirstName, LastName = returnModel.LastName, ContentOpened = true, ConfirmText = confirmText })); }
public async Task <IActionResult> ChangeRole(RoleFieldModel model) { string confirmText = null; var user = await _userManager.FindByNameAsync(User.Identity.Name); var role = Enum.Parse(typeof(UserType), model.Role); if (user != null) { if (_context.Roles.SingleOrDefault(r => r.Name == role.ToString()) != null) { user.ChangeRoleRequest = role.ToString(); var result = await _userManager.UpdateAsync(user); if (result.Succeeded) { confirmText = "The request successfuly added."; } else { ModelState.AddModelError("", "The request doesn't added. Please, reload page or refer to administrator."); } } else { ModelState.AddModelError("", "The role doesn't exist."); } } else { ModelState.AddModelError("", "The user doesn't found. Please, reload page or refer to administrator."); } var returnModel = await getUserProps(User.Identity.Name); return(PartialView("Settings/RoleField", new RoleFieldModel() { Role = ((await _userManager.GetRolesAsync(user))[0]), ContentOpened = true, ConfirmText = confirmText, RoleRequest = (user.ChangeRoleRequest != null) ? user.ChangeRoleRequest : "Empty" })); }