public async Task <IDictionary <Guid, Provider> > Execute( DocumentClient client, Configuration configuration, GetProvidersByIds request) { var collectionUri = UriFactory.CreateDocumentCollectionUri( configuration.DatabaseId, configuration.ProviderCollectionName); var query = client.CreateDocumentQuery <Provider>(collectionUri, new FeedOptions() { EnableCrossPartitionQuery = true }) .Where(p => request.ProviderIds.Contains(p.Id)) .AsDocumentQuery(); var results = await query.FetchAll(); var resultsDict = results.ToDictionary(r => r.Id, r => r); return(resultsDict); }
public async Task <IReadOnlyDictionary <Guid, Provider> > Execute(SqlTransaction transaction, GetProvidersByIds query) { var sqlParameters = new { ProviderIds = TvpHelper.CreateGuidIdTable(query.ProviderIds) }; var sql = @$ " SELECT {nameof(Provider.ProviderId)},
public async Task <IReadOnlyDictionary <Guid, Provider> > Execute(SqlTransaction transaction, GetProvidersByIds query) { var sqlParameters = new { ProviderIds = TvpHelper.CreateGuidIdTable(query.ProviderIds) }; var sql = @$ " SELECT ProviderId, Ukprn, ProviderName, ProviderType, Alias, DisplayNameSource, ApprenticeshipQAStatus, BulkUploadInProgress, BulkUploadPublishInProgress, BulkUploadStartedDateTime, BulkUploadTotalRowCount, LearnerSatisfaction, EmployerSatisfaction FROM Pttcd.Providers WHERE {nameof(Provider.ProviderId)} IN (SELECT * FROM @{nameof(sqlParameters.ProviderIds)})";
public IDictionary <Guid, Provider> Execute(InMemoryDocumentStore inMemoryDocumentStore, GetProvidersByIds request) => inMemoryDocumentStore.Providers.All .Where(p => request.ProviderIds.Contains(p.Id)) .ToDictionary(p => p.Id, p => p);