예제 #1
0
        public async Task <IActionResult> Assign(int userId)
        {
            var user = await UserManager.Users.SingleOrDefaultAsync(u => u.Id == userId);

            var roles = await _roleManager.Roles.ToListAsync();

            var userRoles = await UserManager.GetRolesAsync(user);

            UserRoleAssignDto userRoleAssignDto = new UserRoleAssignDto()
            {
                UserId   = user.Id,
                UserName = user.UserName,
            };

            foreach (var role in roles)
            {
                RoleAssignDto rolesAssignDto = new RoleAssignDto()
                {
                    RoleId   = role.Id,
                    RoleName = role.Name,
                    HasRole  = userRoles.Contains(role.Name)
                };
                userRoleAssignDto.RoleAssignDtos.Add(rolesAssignDto);
            }

            return(PartialView("_RoleAssignPartial", userRoleAssignDto));
        }
        public async Task <IActionResult> Assign(Guid id, RoleAssignDto dto)
        {
            var result = await _roleService.AssignRolesAsync(dto);

            //Ensure ok
            return(RedirectToAction("Index", "User"));
        }
        public async Task <IActionResult> Assign(int userId)
        {
            var user = await UserManager.Users.SingleOrDefaultAsync(u => u.Id == userId);

            var roles = await _roleManager.Roles.ToListAsync();

            // GetRolesAsync : Bize verilen kullanıcının rollerini döner
            var userRoles = await UserManager.GetRolesAsync(user);

            UserRoleAssignDto userRoleAssignDto = new UserRoleAssignDto
            {
                UserId   = user.Id,
                UserName = user.UserName
            };

            foreach (var role in roles)
            {
                RoleAssignDto rolesAssignDto = new RoleAssignDto
                {
                    RoleId   = role.Id,
                    RoleName = role.Name,
                    // Sende bu rol ismi varsa sen bu role sahibsin demektir ve o role sahip olup olmadığı hasrole true/false olarak belirlenecektr
                    HasRole = userRoles.Contains(role.Name)
                };
                userRoleAssignDto.RoleAssignDtos.Add(rolesAssignDto);
            }

            return(PartialView("_RoleAssignPartial", userRoleAssignDto));
        }
        public async Task <IdentityResult> RoleAssign(RoleAssignDto roleAssignDto)
        {
            var user = await userManager.FindByIdAsync(roleAssignDto.UserId.ToString());

            var role = await roleManager.FindByIdAsync(roleAssignDto.RoleId.ToString());

            var result = await userManager.AddToRoleAsync(user, role.Name);

            return(result);
        }
        public async Task <IActionResult> Assign(Guid?id)
        {
            if (id == null)
            {
                return(BadRequest());
            }
            var userRoles = await _roleService.GetByUserAsync((Guid)id);

            var allRoles = await _roleService.GetAllAsync <RoleDto>();

            //TODO Ensure ok
            var model = new RoleAssignDto()
            {
                UserId    = (Guid)id,
                Roles     = allRoles.Value.Select(x => x.Name).Except(userRoles.Value).ToList(),
                UserRoles = userRoles.Value.ToList()
            };

            return(View(model));
        }
        public IActionResult RoleAssing(string id)
        {
            TempData["userId"] = id;
            var user = _userManager.FindByIdAsync(id).Result;

            ViewBag.userName = user.UserName;

            var roller    = _roleManager.Roles;
            var userRoles = _userManager.GetRolesAsync(user).Result as List <string>;

            var model = new List <RoleAssignDto>();

            foreach (var role in roller)
            {
                var r = new RoleAssignDto();
                r.RoleId   = role.Id;
                r.RoleName = role.Name;
                r.Exist    = userRoles.Contains(role.Name);

                model.Add(r);
            }

            return(View(model));
        }