public virtual async Task <bool> Init() { var endPoint = (await _configStore.GetAsync(StorageConstants.DocumentEndpoint).ConfigureAwait(false)); var key = (await _configStore.GetAsync(StorageConstants.DocumentKey).ConfigureAwait(false)); _documentClient = new DocumentClient(new Uri(endPoint), key); await _documentClient.CreateDatabaseIfNotExistsAsync(this.Database).ConfigureAwait(false); await _documentClient.CreateCollectionIfNotExistsAsync(this.Database, this.Collection).ConfigureAwait(false); _initialized = true; return(_initialized); }
static DocumentClient InitializeDocumentClient(Uri endpointUri, string authorizationKey, JsonSerializerSettings serializerSettings = null) { serializerSettings = serializerSettings ?? new JsonSerializerSettings(); serializerSettings.ConfigureForNodaTime(DateTimeZoneProviders.Tzdb); serializerSettings.Converters.Add(new JsonClaimConverter()); serializerSettings.Converters.Add(new TheCollection.Presentation.Web.JsonClaimsPrincipalConverter()); serializerSettings.Converters.Add(new TheCollection.Presentation.Web.JsonClaimsIdentityConverter()); // Create a DocumentClient and an initial collection (if it does not exist yet) for sample purposes var client = new DocumentClient(endpointUri, authorizationKey, serializerSettings, new ConnectionPolicy { EnableEndpointDiscovery = false }, null); client.CreateCollectionIfNotExistsAsync(DocumentDBConstants.DatabaseId, DocumentDBConstants.Collections.AspNetIdentity).Wait(); // handle in application start Configure(IApplicationBuilder) or use IHostedService return(client); }