public void RemoveRoleFromUserShouldMapCorrectly()
        {
            RoleManagementViewModel model = new RoleManagementViewModel();
            string url = "/Administration/Roles/RemoveRoleFromUser";

            this.routeCollection.ShouldMap(url).To<RolesController>(c => c.RemoveRoleFromUser(model));
        }
示例#2
0
        public JsonResult Create(string model)
        {
            string roleName = string.Empty;

            try
            {
                RoleManagementViewModel role    = JsonConvert.DeserializeObject <RoleManagementViewModel>(model);
                ApplicationRole         newRole = new ApplicationRole()
                {
                    Name = role.RoleName
                };

                IdentityResult result = _roleManager.Create(newRole);
                if (result == IdentityResult.Success)
                {
                    roleName            = newRole.Name;
                    role.RoleId         = _roleManager.Roles.Select(r => r.Id).First();
                    Response.StatusCode = (int)System.Net.HttpStatusCode.OK;
                    return(Json(role, JsonRequestBehavior.AllowGet));
                }
                throw new System.Exception("New role cannot be created.");
            }
            catch (Exception ex)
            {
                Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError;
                return(Json("Create role '" + roleName + "' fails. " + ex.Message, JsonRequestBehavior.AllowGet));
            }
        }
示例#3
0
        public JsonResult Update(string model)
        {
            string roleName = string.Empty;

            try
            {
                RoleManagementViewModel role = JsonConvert.DeserializeObject <RoleManagementViewModel>(model);
                var roleToUpdate             = _roleManager.Roles.Where(r => r.Id == role.RoleId).First();
                if (roleToUpdate != null)
                {
                    roleName          = roleToUpdate.Name;
                    roleToUpdate.Name = role.RoleName;
                    roleToUpdate.Id   = role.RoleId;
                    IdentityResult result = _roleManager.Update(roleToUpdate);
                    if (result == IdentityResult.Success)
                    {
                        Response.StatusCode = (int)System.Net.HttpStatusCode.OK;
                        return(Json(role, JsonRequestBehavior.AllowGet));
                    }
                }
                throw new System.Exception("Role does not exist.");
            }
            catch (Exception ex)
            {
                Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError;
                return(Json("Update role '" + roleName + "' fails. " + ex.Message, JsonRequestBehavior.AllowGet));
            }
        }
示例#4
0
        public async Task <ActionResult> UpdateRole(RoleManagementViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Index"));
            }

            var isInRole = await UserManager.IsInRoleAsync(viewModel.UserId, viewModel.Role);

            var userRoles = await UserManager.GetRolesAsync(viewModel.UserId);

            if (isInRole || userRoles.Contains("Admin"))
            {
                return(RedirectToAction("Index"));
            }

            foreach (var role in userRoles)
            {
                await UserManager.RemoveFromRoleAsync(viewModel.UserId, role);
            }

            await UserManager.AddToRoleAsync(viewModel.UserId, viewModel.Role);

            return(RedirectToAction("Index"));
        }
        public async Task <IActionResult> RoleManagement()
        {
            var viewModel = new RoleManagementViewModel();

            var response = await _adminService.GetRoleManagement();

            viewModel.Roles = response.Roles;

            return(View(viewModel));
        }
示例#6
0
        public ActionResult RoleManagement(string id)
        {
            var viewModel = new RoleManagementViewModel
            {
                User  = _context.Users.Include(u => u.Roles).SingleOrDefault(u => u.Id == id),
                Roles = _context.Roles.ToList()
            };

            return(View(viewModel));
        }
        public ActionResult AddRoleToUser(RoleManagementViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return this.View(model);
            }

            this.roles.AddRoleToUser(model.UserName, model.Role);

            this.SetTempDataSuccessMessage("Role added to user!");

            return this.RedirectToAction("Index", "Administration", new { area = "Administration" });
        }
        public async Task <ActionResult> Create(RoleManagementViewModel model)
        {
            if (ModelState.IsValid)
            {
                IdentityResult result = await RoleManager.CreateAsync(new ApplicationRole
                {
                    Name = model.Name
                });

                if (result.Succeeded)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("", "Что-то пошло не так");
                }
            }
            return(View(model));
        }
示例#9
0
        public async Task <IActionResult> Edit(string profileId)
        {
            Profile user = await _userManager.FindByIdAsync(profileId);

            if (user != null)
            {
                var userRoles = await _userManager.GetRolesAsync(user);

                var allRoles = _roleManager.Roles.ToList();
                RoleManagementViewModel model = new RoleManagementViewModel()
                {
                    ProfileId   = user.Id,
                    ProfileName = user.Email,
                    UserRoles   = userRoles,
                    AllRoles    = allRoles
                };
                return(View(model));
            }

            return(NotFound());
        }
        public async Task <ActionResult> Edit(RoleManagementViewModel model)
        {
            if (ModelState.IsValid)
            {
                ApplicationRole role = await RoleManager.FindByIdAsync(model.Id);

                if (role != null)
                {
                    role.Name = model.Name;
                    IdentityResult result = await RoleManager.UpdateAsync(role);

                    if (result.Succeeded)
                    {
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Что-то пошло не так");
                    }
                }
            }
            return(View(model));
        }
        public ActionResult RemoveRoleFromUser()
        {
            RoleManagementViewModel model = new RoleManagementViewModel();

            return this.View(model);
        }
        public ActionResult AddRoleToUser()
        {
            RoleManagementViewModel model = new RoleManagementViewModel();

            return this.View(model);
        }
示例#13
0
 public RoleManagementControl()
 {
     InitializeComponent();
     ViewModel        = new RoleManagementViewModel();
     this.DataContext = ViewModel;
 }