Exemplo n.º 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(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));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Assign(UserRoleAssignDto userRoleAssignDto)
        {
            if (ModelState.IsValid)
            {
                var user = UserManager.Users.SingleOrDefault(u => u.Id == userRoleAssignDto.UserId);

                foreach (var roleAssignDto in userRoleAssignDto.RoleAssignDtos)
                {
                    if (roleAssignDto.HasRole)
                    {
                        await UserManager.AddToRoleAsync(user, roleAssignDto.RoleName);
                    }

                    else
                    {
                        await UserManager.RemoveFromRoleAsync(user, roleAssignDto.RoleName);
                    }
                }
                await UserManager.UpdateSecurityStampAsync(user);

                var userRoleAssignAjaxViewModel = JsonSerializer.Serialize(new UserRoleAssignAjaxViewModel
                {
                    UserDto = new UserDto
                    {
                        User         = user,
                        Message      = $"{user.UserName} kullanıcısına ait rol atama işlemi başarıyla tamamlanmıştır.",
                        ResultStatus = ResultStatus.Success
                    },
                    RoleAssignPartial = await this.RenderViewToStringAsync("_RoleAssignPartial", userRoleAssignDto)
                });

                return(Json(userRoleAssignAjaxViewModel));
            }

            else
            {
                var userRoleAjaxErrorModel = JsonSerializer.Serialize(new UserRoleAssignAjaxViewModel
                {
                    RoleAssignPartial = await this.RenderViewToStringAsync("_RoleAssignPartial", userRoleAssignDto),
                    UserRoleAssignDto = userRoleAssignDto
                });

                return(Json(userRoleAjaxErrorModel));
            }
        }
        public async Task <IActionResult> Assign(UserRoleAssignDto userRoleAssignDto)
        {
            if (ModelState.IsValid)
            {
                var user = await UserManager.Users.SingleOrDefaultAsync(u => u.Id == userRoleAssignDto.UserId);

                foreach (var roleAssignDto in userRoleAssignDto.RoleAssignDtos)
                {
                    if (roleAssignDto.HasRole)
                    {
                        await UserManager.AddToRoleAsync(user, roleAssignDto.RoleName);
                    }
                    else
                    {
                        await UserManager.RemoveFromRoleAsync(user, roleAssignDto.RoleName);
                    }
                }
                // burada güncelleme kullanıcıya otomatik atanır ve 30 dk da bir kontrol gerçekleştirilir. Bu kontrolden sonra kullanıcıya gerekli atamalar yapılır.
                await UserManager.UpdateSecurityStampAsync(user);

                var userRoleAssignAjaxViewModel = JsonSerializer.Serialize(new UserRoleAssignAjaxViewModel
                {
                    UserDto = new UserDto
                    {
                        User         = user,
                        Message      = $"{user.UserName} kullanıcısına ait rol atama işlemi başarıyla tamamlanmıştır.",
                        ResultStatus = ResultStatus.Success
                    },
                    RoleAssignPartial = await this.RenderViewToStringAsync("_RoleAssignPartial", userRoleAssignDto)
                });
                return(Json(userRoleAssignAjaxViewModel));
            }
            else
            {
                var userRoleAssignAjaxErrorModel = JsonSerializer.Serialize(new UserRoleAssignAjaxViewModel
                {
                    RoleAssignPartial = await this.RenderViewToStringAsync("_RoleAssignPartial", userRoleAssignDto),
                    UserRoleAssignDto = userRoleAssignDto
                });
                return(Json(userRoleAssignAjaxErrorModel));
            }
        }