Beispiel #1
0
        public async Task<ActionResult> AddUserToRole(AddUserToRoleViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (var ctx = new ApplicationDbContext())
                {
                    var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(ctx));
                    var identityResult = await userManager.AddToRoleAsync(model.UserId, model.RoleName);

                    if (identityResult.Succeeded)
                    {
                        TempData["Message"] = "User added to role succesfully";
                    }
                    else
                    {
                        // TODO: add errors to TempData
                    }
                }
            }

            return RedirectToAction("EditMembers", "Roles", new { Id = model.RoleName});
        }
Beispiel #2
0
        public async Task AddUserToRoleTest()
        {
            var role = await CreateRole("testing");
            var user = await CreateUser("tester");

            var target = new RolesController();
            var request = new AddUserToRoleViewModel() { RoleName = role.Name, UserId = user.Id };
            var actual = await target.AddUserToRole(request) as ViewResult;

            using (var ctx = new ApplicationDbContext())
            {
                var dbUser = ctx.Users.Find(user.Id);
                dbUser.Roles.Count.ShouldEqual(1);
            }
        }