Пример #1
0
        public ActionResult UserRoles(string id)
        {
            var             user   = db.Users.Find(id);
            UserRolesHelper helper = new UserRolesHelper(db);
            var             model  = new AdminUpdateRolesViewModel();

            model.Id            = user.Id;
            model.FirstName     = user.FirstName;
            model.LastName      = user.LastName;
            model.DisplayName   = user.DisplayName;
            model.SelectedRoles = helper.ListUserRoles(id).ToArray();
            model.Roles         = new MultiSelectList(db.Roles, "Name", "Name", model.SelectedRoles);

            return(View(model));
        }
Пример #2
0
        public ActionResult UserRoles(AdminUpdateRolesViewModel model)
        {
            if (ModelState.IsValid)
            {
                var             user   = db.Users.Find(model.Id);
                UserRolesHelper helper = new UserRolesHelper(db);

                foreach (var role in db.Roles.Select(r => r.Name).ToList())
                {
                    helper.RemoveUserFromRole(user.Id, role);
                }

                if (model.SelectedRoles != null)
                {
                    foreach (var role in model.SelectedRoles)
                    {
                        helper.AddUserToRole(user.Id, role);
                    }
                }

                return(RedirectToAction("UserList", "Admin"));
            }
            else
            {
                var             user        = db.Users.Find(model.Id);
                UserRolesHelper helper      = new UserRolesHelper(db);
                var             returnModel = new AdminUpdateRolesViewModel();

                returnModel.Id            = user.Id;
                returnModel.FirstName     = user.FirstName;
                returnModel.LastName      = user.LastName;
                returnModel.DisplayName   = user.DisplayName;
                returnModel.SelectedRoles = helper.ListUserRoles(user.Id).ToArray();
                returnModel.Roles         = new MultiSelectList(db.Roles, "Name", "Name", model.SelectedRoles);

                return(View(returnModel));
            }
        }