예제 #1
0
 public IDictionary <Guid, Apprenticeship> Execute(InMemoryDocumentStore inMemoryDocumentStore, GetApprenticeshipsByIds request) =>
 inMemoryDocumentStore.Apprenticeships.All
 .Where(p => request.ApprenticeshipIds.Contains(p.Id))
 .Where(p => p.RecordStatus != 4 && p.RecordStatus != 8)
 .ToDictionary(p => p.Id, p => p);
        public async Task <IDictionary <Guid, Apprenticeship> > Execute(DocumentClient client, Configuration configuration, GetApprenticeshipsByIds request)
        {
            var collectionUri = UriFactory.CreateDocumentCollectionUri(
                configuration.DatabaseId,
                configuration.ApprenticeshipCollectionName);

            var query = client.CreateDocumentQuery <Apprenticeship>(collectionUri, new FeedOptions()
            {
                EnableCrossPartitionQuery = true
            })
                        .Where(p => request.ApprenticeshipIds.Contains(p.Id))
                        .Where(p => p.RecordStatus != (int)ApprenticeshipStatus.Archived && p.RecordStatus != (int)ApprenticeshipStatus.Deleted)
                        .AsDocumentQuery();

            var results = await query.FetchAll();

            var resultsDict = results.ToDictionary(r => r.Id, r => r);

            return(resultsDict);
        }