예제 #1
0
        public IActionResult ManageAccounts()
        {
            var users  = _userService.GetApplicationUsers();
            var result = users.Select(u => new UserModel
            {
                Id          = u.Id,
                AccountName = u.UserName,
                FullName    = u.FullName,
                Role        = GetRole(u).Result
            }).ToList();

            var model = new ManageAccountsModel
            {
                Users = result
            };

            return(View(model));
        }
예제 #2
0
        public async Task <IActionResult> ManageAccounts(ManageAccountsModel model)
        {
            try
            {
                var currentUser = await _userManager.GetUserAsync(User);

                foreach (var user in model.Users)
                {
                    await _userService.ChangeUserRole(user.Id, user.Role.ToString());

                    if (user.Id == currentUser.Id)
                    {
                        await _signInManager.RefreshSignInAsync(currentUser);
                    }
                }
                this.AddAlertSuccess("Изменения сохранены");
            }
            catch (Exception e)
            {
                this.AddAlertDanger(e.Message);
            }
            return(RedirectToAction("ManageAccounts"));
        }