/// <summary>
        /// <inheritdoc />
        /// </summary>
        public async Task SeedAsync()
        {
            var clients = GetClients();

            foreach (var client in clients)
            {
                await _context.AddOrUpdateAsync(client.ToEntity(), x => x.ClientId == client.ClientId);
            }

            var apiScopes = GetApiScopes();

            foreach (var apiScope in apiScopes)
            {
                await _context.AddOrUpdateAsync(apiScope.ToEntity(), x => x.Name == apiScope.Name);
            }

            var identityResources = GetIdentityResources();

            foreach (var identityResource in identityResources)
            {
                await _context.AddOrUpdateAsync(identityResource.ToEntity(), x => x.Name == identityResource.Name);
            }

            var apiResources = GetApiResources();

            foreach (var apiResource in apiResources)
            {
                await _context.AddOrUpdateAsync(apiResource.ToEntity(), x => x.Name == apiResource.Name);
            }

            await _context.SaveChangesAsync();
        }