Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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()));
        }