コード例 #1
0
        private async Task EnsureUserRoles(UserDetail user)
        {
            user.UserRoles = user.UserRoles ?? new List <UserRoleAssignment>();

            var toAssign = await GetAutoUserRoleIds();

            foreach (var userRole in toAssign.Select(id => new UserRole {
                Id = id
            }))
            {
                if (user.UserRoles.All(ur => ur?.UserRole?.Id != userRole.Id))
                {
                    user.UserRoles.Add(new UserRoleAssignment {
                        UserRole = userRole
                    });
                }
            }

            await _cpClient.User.UpdateAsync(user.Id, user.AsUpdateRequest());
        }