public async Task <IDictionary <Guid, Course> > Execute(DocumentClient client, Configuration configuration, GetCoursesByIds request)
        {
            var collectionUri = UriFactory.CreateDocumentCollectionUri(
                configuration.DatabaseId,
                configuration.CoursesCollectionName);

            var query = client.CreateDocumentQuery <Course>(collectionUri, new FeedOptions()
            {
                EnableCrossPartitionQuery = true
            })
                        .Where(p => request.CourseIds.Contains(p.Id))
                        .Where(p => p.CourseStatus != CourseStatus.Archived && p.CourseStatus != CourseStatus.Deleted)
                        .AsDocumentQuery();

            var results = await query.FetchAll();

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

            return(resultsDict);
        }
 public IDictionary <Guid, Course> Execute(InMemoryDocumentStore inMemoryDocumentStore, GetCoursesByIds request) =>
 inMemoryDocumentStore.Courses.All
 .Where(p => request.CourseIds.Contains(p.Id))
 .ToDictionary(p => p.Id, p => p);