Exemple #1
0
        public async Task <ActionResult> UserEdit(AdminUserEditViewResult model)
        {
            if (ModelState.IsValid)
            {
                ApplicationUserEntity user = UserManager.FindById(model.User.Id);
                if (user != null)
                {
                    //Поиск claim Banned

                    //Добавляем, если необходимо
                    if ((model.Banned == true) && (user.Banned != true))
                    {
                        user.Banned = true;
                    }
                    //Удаляем, если необходимо
                    else if (user.Banned == true)
                    {
                        user.Banned = false;
                    }
                    //Очищаем все роли пользователя
                    foreach (var role in UserManager.GetRoles(user.Id).ToList())
                    {
                        await UserManager.RemoveFromRoleAsync(user.Id, role);
                    }
                    //Добавляем необходимы роли пользователя
                    foreach (var role in model.SelectedRoles.Where(m => m.Checked).ToList())
                    {
                        await UserManager.AddToRoleAsync(user.Id, role.Name);
                    }
                    model.Roles = RoleManager.Roles.ToList();
                    TempData["toastrMessage"] = String.Format("Пользователь {0} изменен", user.UserName);
                    TempData["toastrType"]    = "success";
                    UserManager.Update(user);
                    return(View("UserEdit", model));
                }
                else
                {
                    return(View("UserEdit", model));
                }
            }
            else
            {
                return(View("UserEdit", model));
            }
        }
Exemple #2
0
        public ActionResult UserEdit(string id, string returnUrl)
        {
            if (id == null)
            {
                return(RedirectToAction("NotFound", "Error"));
            }
            AdminUserEditViewResult result = new AdminUserEditViewResult();
            var claims = UserManager.GetClaims(id);
            var banned = claims.FirstOrDefault(m => m.Type == "Banned");

            result.Roles     = RoleManager.Roles.ToList();
            result.User      = UserManager.FindById(id);
            result.returnUrl = returnUrl;
            result.Banned    = Convert.ToBoolean(result.User.Banned);
            if (result.User != null)
            {
                return(View(result));
            }
            else
            {
                return(RedirectToAction("NotFound", "Error"));
            }
        }