public async Task <IActionResult> AddToRole(AddToRoleViewModel model)
        {
            var identityUser = _userManager.Users.SingleOrDefault(q => q.Id == model.SelectedIdentityUserId);
            var identityRole = _roleManager.Roles.SingleOrDefault(q => q.Id == model.SelectedIdentityRoleId);

            var result = await _userManager.AddToRoleAsync(identityUser, identityRole.Name);

            if (result.Succeeded)
            {
                TempData["Message"] = $"Dodano rolę {identityRole.Name} do użytkownika {identityUser.UserName}";

                return(RedirectToAction("Index"));
            }

            TempData["Message"] = $"Wystąpił błąd przy dodawaniu roli do użytkownika";


            List <IdentityRole> identityRoles = _roleManager.Roles.ToList();
            List <IdentityUser> identityUsers = _userManager.Users.ToList();

            model.IdentityRoles = identityRoles;
            model.IdentityUsers = identityUsers;

            return(View(model));
        }
Ejemplo n.º 2
0
        public async Task <ActionResult> RemoveFromRole(AddToRoleViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await UserManager.FindByIdAsync(model.UserId);

                if (user != null)
                {
                    var result = UserManager.RemoveFromRole(user.Id, model.Role);
                    if (result.Succeeded)
                    {
                        return(RedirectToAction("Index"));
                    }
                    ModelState.AddModelError("removeFromRoleResult", "Error removing role");
                    model.Roles = GetUserRoles(user);
                    return(View(model));
                }
                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
            }
            if (model.UserId != null)
            {
                var user = await UserManager.FindByIdAsync(model.UserId);

                if (user != null)
                {
                    model.Roles = GetUserRoles(user);
                }
                return(View(model));
            }
            return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> AddToRole(AddToRoleViewModel addToRoleViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(addToRoleViewModel));
            }

            var user = await _userManager.FindByNameAsync(addToRoleViewModel.UserName);

            if (user != null)
            {
                if (!await _userManager.IsEmailConfirmedAsync(user))
                {
                    ModelState.AddModelError(string.Empty, "Confirm your email please!");
                    return(View(addToRoleViewModel));
                }
            }

            var role = await _roleManager.FindByNameAsync(addToRoleViewModel.RoleName);

            if (role == null)
            {
                var roleResult = await _roleManager.CreateAsync(new Role
                {
                    Name = addToRoleViewModel.RoleName
                });

                //ModelState.AddModelError(string.Empty, "Role not found!");
                //return View(addToRoleViewModel);
            }

            if (role != null)
            {
                var userRoleResult = await _userManager.IsInRoleAsync(user, addToRoleViewModel.RoleName);

                if (userRoleResult)
                {
                    ModelState.AddModelError(string.Empty, string.Format("User is already in {0} role!", addToRoleViewModel.RoleName));
                    return(View(addToRoleViewModel));
                }
                else
                {
                    var addRoleResult = await _userManager.AddToRoleAsync(user, addToRoleViewModel.RoleName);

                    if (addRoleResult.Succeeded)
                    {
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, string.Format("User couldn't be added to {0} role!", addToRoleViewModel.RoleName));
                        return(View(addToRoleViewModel));
                    }
                }
            }

            return(RedirectToAction("Index", "Home"));
        }
        public ActionResult AddUserToRole()
        {
            var model = new AddToRoleViewModel();

            model.Roles = new List <string>()
            {
                "Admin", "User"
            };
            return(View(model));
        }
        public IActionResult AddToRole()
        {
            List <IdentityRole> identityRoles = _roleManager.Roles.ToList();
            List <IdentityUser> identityUsers = _userManager.Users.ToList();

            var model = new AddToRoleViewModel
            {
                IdentityRoles = identityRoles,
                IdentityUsers = identityUsers
            };

            return(View(model));
        }
        public ActionResult AddUserToRole(AddToRoleViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = UserManager.FindByEmail(model.Username);
                if (user == null)
                {
                    return(HttpNotFound($"User {model.Username} not found"));
                }

                UserManager.AddToRole(user.Id, model.SelectedRole);
                return(RedirectToAction("Index", "Movies"));
            }

            return(View(model));
        }
Ejemplo n.º 7
0
        public async Task <IActionResult> Manage(AddToRoleViewModel model)
        {
            if (!ModelState.IsValid)
            {
                TempData.AddErrorMessage(TempMessages.GeneralInvalidInputData);
            }
            else
            {
                try
                {
                    await _userService.AssignToRole(model.UserName, model.Role);
                }
                catch (InvalidOperationException ex)
                {
                    TempData.AddErrorMessage(ex.Message);
                }
            }

            return(RedirectToAction(nameof(AdminsController.Index), AdminController));
        }
Ejemplo n.º 8
0
        public async Task <ActionResult> RemoveFromRole(string id)
        {
            if (id != null)
            {
                var user = await UserManager.FindByIdAsync(id);

                if (user != null)
                {
                    var model = new AddToRoleViewModel
                    {
                        UserId    = user.Id,
                        UserEmail = user.Email,
                        Roles     = GetUserRoles(user)
                    };

                    return(View(model));
                }
                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
            }
            return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
        }
Ejemplo n.º 9
0
        public async Task <HttpResult> AddToRole(AddToRoleViewModel model)
        {
            if (string.IsNullOrEmpty(model.rolename) || model.userid == Guid.Empty)
            {
                return(new HttpResult()
                {
                    Success = false, Message = "درخواست نامعتبر"
                });
            }

            else
            {
                if (!await _userService.IsInRole(model.userid, model.rolename))
                {
                    var identityres = await _userService.AddToRole(model.userid, model.rolename);

                    if (identityres.Succeeded)
                    {
                        return(new HttpResult()
                        {
                            Success = true, Message = "با موفقیت انجام شد"
                        });
                    }
                    else
                    {
                        return(new HttpResult()
                        {
                            Success = true, Message = string.Join(",", identityres.Errors), Data = null
                        });
                    }
                }
                else
                {
                    return(new HttpResult()
                    {
                        Success = false, Message = "کاربر این نقش را دارا می‌باشد"
                    });
                }
            }
        }
Ejemplo n.º 10
0
        public IActionResult AddToRole()
        {
            var model = new AddToRoleViewModel();

            return(View(model));
        }