예제 #1
0
        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));
        }
예제 #2
0
        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"));
            }
        }