private async Task <List <Cluster> > FindClustersForJobAsync(DataModel.Job job) { var clusterSearchParams = new ClusterSearchParams { JobPriority = job.JobPriority, JobType = job.JobType, TenantId = job.TenantId }; return(await dataStore.SearchClustersAsync(clusterSearchParams)); }
public Task <List <Cluster> > SearchClustersAsync(ClusterSearchParams clusterSearchParams) { FeedOptions queryOptions = new FeedOptions { MaxItemCount = -1, EnableCrossPartitionQuery = true }; if (clusterSearchParams == null) { return(Task.FromResult(this.documentClient.CreateDocumentQuery <Cluster>( UriFactory.CreateDocumentCollectionUri(database, clusterCollection), queryOptions) .AsEnumerable() .ToList())); } return(Task.FromResult(this.documentClient.CreateDocumentQuery <Cluster>( UriFactory.CreateDocumentCollectionUri(database, clusterCollection), queryOptions) .Where(c => c.JobType == clusterSearchParams.JobType) .Where(c => c.JobPriority == clusterSearchParams.JobPriority) .Where(c => c.TenantId == "all" || c.TenantId == clusterSearchParams.TenantId) .Where(c => c.ClusterStatus == ClusterStatus.Active) .AsEnumerable() .ToList())); }