예제 #1
0
        public ActionResult RoleAddToUser(string AddUserNameToUser, string AddRoleNameToUser)
        {
            if (!string.IsNullOrEmpty(AddUserNameToUser) && !string.IsNullOrEmpty(AddRoleNameToUser))
            {
                ApplicationUser user = _rolesRepository.GetSelectedUser(AddUserNameToUser);

                if (user == null)
                {
                    ViewBag.RoleAddToUserMessage = "Something went wrong!";
                    ViewBag.Roles = _rolesRepository.GetExistingRoleNames();
                    return(View("Index"));
                }

                var checkUserExistingRoles = _rolesRepository.UserManger().GetRoles(user.Id);

                if (checkUserExistingRoles.Contains(AddRoleNameToUser) == true)
                {
                    ViewBag.RoleAddToUserMessage = "This role was already assigned to this user!";
                }
                else if (user.Roles.Count > 0)
                {
                    ViewBag.RoleAddToUserMessage = "A user can only have one role!";
                }
                else
                {
                    _rolesRepository.UserManger().AddToRole(user.Id, AddRoleNameToUser);
                    ViewBag.RoleAddToUserMessage = "Role added to the user successfully!";
                }
            }
            else
            {
                ViewBag.RoleAddToUserMessage = "Role was not added to the user!";
            }

            ViewBag.Roles = _rolesRepository.GetExistingRoleNames();
            return(View("Index"));
        }