public async Task <IReadOnlyCollection <Course> > Execute( DocumentClient client, Configuration configuration, GetAllCoursesForProvider request) { var collectionUri = UriFactory.CreateDocumentCollectionUri( configuration.DatabaseId, configuration.CoursesCollectionName); var query = client.CreateDocumentQuery <Course>( collectionUri, new SqlQuerySpec() { QueryText = "select * from c where (c.CourseStatus & @CourseStatuses) <> 0 and c.ProviderUKPRN = @ProviderUkprn", Parameters = new SqlParameterCollection() { new SqlParameter("@CourseStatuses", (int)request.CourseStatuses), new SqlParameter("@ProviderUkprn", request.ProviderUkprn) } }, new FeedOptions() { PartitionKey = new PartitionKey(request.ProviderUkprn), MaxItemCount = -1 }) .AsDocumentQuery(); return(await query.FetchAll()); }
public IReadOnlyCollection <Course> Execute( InMemoryDocumentStore inMemoryDocumentStore, GetAllCoursesForProvider request) { return(inMemoryDocumentStore.Courses.All .Where(c => c.ProviderUKPRN == request.ProviderUkprn) .Where(c => (c.CourseStatus & request.CourseStatuses) != 0) .ToList()); }