public async Task <ActionResult> UpdateUserInfoes(UpdateUserInfoesViewModel model) { if (!ModelState.IsValid) { ViewBag.ErMes = "Ошибка валидации модели"; ViewBag.ErStack = ""; return(View("Error")); } var user = await UserManager.FindByIdAsync(model.Id); if (user == null) { ViewBag.ErMes = "Пользователь с Id " + model.Id + " не найден"; ViewBag.ErStack = ""; return(View("Error")); } var _query = (from _role in db.Roles where _role.Id == model.Role select _role.Name) .First(); user.Id = model.Id; user.FirstName = model.FirstName; user.LastName = model.LastName; user.MiddleName = model.MiddleName; user.Post = model.Post; user.Email = model.Email; user.UserRole = _query; var result = await UserManager.UpdateAsync(user); if (result.Succeeded) { var roleslist = UserManager.GetRoles(model.Id).ToArray(); result = await UserManager.RemoveFromRolesAsync(model.Id, roleslist); if (result.Succeeded) { result = await UserManager.AddToRoleAsync(user.Id, _query); if (result.Succeeded) { TempData["MessageOk"] = "Учетные данные изменены"; return(RedirectToAction("ShowUsers", "UsersManagement")); } AddErrors(result); return(View(model)); } AddErrors(result); return(View(model)); } AddErrors(result); return(View(model)); }
public ActionResult UpdateUserInfoes(string UserId) { if (!ModelState.IsValid) { ViewBag.ErMes = "Ошибка валидации модели"; ViewBag.ErStack = ""; return(View("Error")); } if (UserId == null) { ViewBag.ErMes = "Не указан идентификатор пользователя"; ViewBag.ErStack = ""; return(View("Error")); } try { ApplicationUser DUser = db.Users.Find(UserId); if (DUser != null) { var _currentuser = HttpContext.User.Identity.GetUserId(); ViewBag.CurrentUser = _currentuser; SelectList _roles = new SelectList(db.Roles.Where(Name => Name.Name != "blockeduser"), "Id", "Description", DUser.Roles.FirstOrDefault().RoleId); ViewBag.RolesList = _roles; UpdateUserInfoesViewModel currentuser = new UpdateUserInfoesViewModel { Id = DUser.Id, UserName = DUser.UserName, Email = DUser.Email, FirstName = DUser.FirstName, LastName = DUser.LastName, MiddleName = DUser.MiddleName, Post = DUser.Post, Role = DUser.Roles.FirstOrDefault().RoleId }; return(View(currentuser)); } ViewBag.ErMes = "Пользователь с Id " + UserId + " не найден"; ViewBag.ErStack = ""; return(View("Error")); } catch (Exception ex) { ViewBag.ErMes = ex.Message; ViewBag.ErStack = ex.StackTrace; return(View("Error")); } }