public async Task <ActionResult> Register(RegisterModel model) { if (ModelState.IsValid) { ICSRole role = await RoleManager.FindByNameAsync("user"); ICSUser user = new ICSUser { FIO = model.FIO, UserName = model.Email, Email = model.Email, Year = DateTime.Now.Year, RoleId = role.Id, PhoneNumber = model.PhoneNumber }; IdentityResult result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { await UserManager.UpdateAsync(user); await UserManager.AddToRoleAsync(user.Id, "user"); return(RedirectToAction("Login", "Users")); } else { foreach (string error in result.Errors) { ModelState.AddModelError("", error); } } } return(View(model)); }
public async Task <ActionResult> Change(EditUserModel model) { List <ICSRole> roles = RoleManager.Roles.ToList(); model.AllRoles = new SelectList(roles, "Id", "Description", model.RoleId); if (ModelState.IsValid) { ICSUser user = await UserManager.FindByIdAsync(model.Id); ICSRole role = await RoleManager.FindByIdAsync(user.RoleId); if (user != null) { await UserManager.RemoveFromRoleAsync(user.Id, role.Name); role = await RoleManager.FindByIdAsync(model.RoleId); await UserManager.AddToRoleAsync(user.Id, role.Name); user.RoleId = model.RoleId; IdentityResult result = await UserManager.UpdateAsync(user); if (result.Succeeded) { return(RedirectToAction("Index")); } else { ModelState.AddModelError("", "Что-то пошло не так"); } } } return(View(model)); }