public IEnumerable <OnDemandQueryRequest> FindOnDemandReportsForScheduling(IEnumerable <OnDemandQueryType> queryTypes, IEnumerable <OnDemandQueryRequestStatus> requestStatuses, ref string pageCookie, out bool complete, int pageSize = 100) { complete = true; Dictionary <int, string> dictionary = this.FromPageCookieString(pageCookie); IEnumerable <OnDemandQueryRequest> enumerable = Enumerable.Empty <OnDemandQueryRequest>(); int num = 0; while (num < this.PartitionCount && enumerable.Count <OnDemandQueryRequest>() < pageSize) { bool flag = false; string empty = string.Empty; QueryFilter pagingQueryFilter = PagingHelper.GetPagingQueryFilter(QueryFilter.AndTogether(new QueryFilter[] { new ComparisonFilter(ComparisonOperator.Equal, DalHelper.PhysicalInstanceKeyProp, this.GetPartition(num)), new ComparisonFilter(ComparisonOperator.Equal, OnDemandQueryRequestSchema.Container, OnDemandQueryRequest.DefaultContainer) }), dictionary[num]); enumerable = enumerable.Concat((from OnDemandQueryRequest r in this.dataProviderDirectory.FindPaged <OnDemandQueryRequest>(pagingQueryFilter, null, false, null, pageSize) where queryTypes.Any((OnDemandQueryType t) => t == r.QueryType) select r).Cache <OnDemandQueryRequest>()); dictionary[num] = PagingHelper.GetProcessedCookie(pagingQueryFilter, out flag); if (!flag) { complete = false; } num++; } pageCookie = this.ToPageCookieString(dictionary); return(enumerable); }
public AppConfigCollection FindValuesByDescription(string[] descriptions, ref string pageCookie) { if (descriptions.Length == 0) { throw new ArgumentNullException("descriptions"); } MultiValuedProperty <string> propertyValue = new MultiValuedProperty <string>(descriptions); ComparisonFilter baseQueryFilter = new ComparisonFilter(ComparisonOperator.Equal, AppConfigSchema.DescriptionQueryProp, propertyValue); List <AppConfigSchema.AppConfigByDescription> list = new List <AppConfigSchema.AppConfigByDescription>(); AppConfigCollection appConfigCollection = new AppConfigCollection(); bool flag = false; while (!flag) { QueryFilter pagingQueryFilter = PagingHelper.GetPagingQueryFilter(baseQueryFilter, pageCookie); IEnumerable <AppConfigSchema.AppConfigByDescription> collection = this.DataProvider.FindPaged <AppConfigSchema.AppConfigByDescription>(pagingQueryFilter, null, false, null, 1000); list.AddRange(collection); pageCookie = PagingHelper.GetProcessedCookie(pagingQueryFilter, out flag); } if (!list.Any <AppConfigSchema.AppConfigByDescription>()) { return(appConfigCollection); } foreach (AppConfigParameter appConfigParameter in list) { appConfigCollection.Add(appConfigParameter.Name, appConfigParameter.Value); } return(appConfigCollection); }
public IEnumerable <ReportSchedule> FindReportSchedules(int partitionId, ref string pageCookie, out bool complete, int pageSize = 100) { QueryFilter pagingQueryFilter = PagingHelper.GetPagingQueryFilter(new ComparisonFilter(ComparisonOperator.Equal, DalHelper.PhysicalInstanceKeyProp, this.GetPartition(partitionId)), pageCookie); IEnumerable <ReportSchedule> result = this.dataProviderDirectory.FindPaged <ReportSchedule>(pagingQueryFilter, null, false, null, pageSize).Cast <ReportSchedule>().Cache <ReportSchedule>(); pageCookie = PagingHelper.GetProcessedCookie(pagingQueryFilter, out complete); return(result); }
public IEnumerable <OnDemandQueryRequest> FindPagedReportRequests(IEnumerable <OnDemandQueryType> queryTypes, IEnumerable <OnDemandQueryRequestStatus> requestStatuses, ref string pageCookie, out bool complete, int pageSize = 100) { QueryFilter pagingQueryFilter = PagingHelper.GetPagingQueryFilter(new ComparisonFilter(ComparisonOperator.Equal, ADObjectSchema.OrganizationalUnitRoot, GlobalConfigSession.onDemandReportsFixedTenantId), pageCookie); IEnumerable <OnDemandQueryRequest> result = (from OnDemandQueryRequest r in this.WebStoreDataProvider.FindPaged <OnDemandQueryRequest>(pagingQueryFilter, null, false, null, pageSize) where queryTypes.Any((OnDemandQueryType t) => t == r.QueryType) && requestStatuses.Any((OnDemandQueryRequestStatus s) => s == r.RequestStatus) select r).Cache <OnDemandQueryRequest>(); pageCookie = PagingHelper.GetProcessedCookie(pagingQueryFilter, out complete); return(result); }
public IEnumerable <UnsentSpamDigestMessage> FindPagedUnsentDigestMessages(Guid organizationalUnitRoot, DateTime upperBoundary, ref string pageCookie, out bool complete, int pageSize = 1000) { QueryFilter pagingQueryFilter = PagingHelper.GetPagingQueryFilter(QueryFilter.AndTogether(new QueryFilter[] { new ComparisonFilter(ComparisonOperator.Equal, UnsentSpamDigestMessageSchema.OrganizationalUnitRootProperty, organizationalUnitRoot), new ComparisonFilter(ComparisonOperator.Equal, UnsentSpamDigestMessageSchema.UpperBoundaryQueryProperty, upperBoundary) }), pageCookie); IEnumerable <UnsentSpamDigestMessage> result = this.DataProvider.FindPaged <UnsentSpamDigestMessage>(pagingQueryFilter, null, false, null, pageSize).Cast <UnsentSpamDigestMessage>().Cache <UnsentSpamDigestMessage>(); pageCookie = PagingHelper.GetProcessedCookie(pagingQueryFilter, out complete); return(result); }
public IEnumerable <OnDemandQueryRequest> FindOnDemandReportsForScheduling(int partitionId, IEnumerable <OnDemandQueryType> queryTypes, ref string pageCookie, out bool complete, int pageSize = 100) { QueryFilter pagingQueryFilter = PagingHelper.GetPagingQueryFilter(QueryFilter.AndTogether(new QueryFilter[] { new ComparisonFilter(ComparisonOperator.Equal, DalHelper.PhysicalInstanceKeyProp, this.GetPartition(partitionId)), new ComparisonFilter(ComparisonOperator.Equal, OnDemandQueryRequestSchema.Container, OnDemandQueryRequest.DefaultContainer) }), pageCookie); IEnumerable <OnDemandQueryRequest> result = (from OnDemandQueryRequest r in this.dataProviderDirectory.FindPaged <OnDemandQueryRequest>(pagingQueryFilter, null, false, null, pageSize) where queryTypes.Any((OnDemandQueryType t) => t == r.QueryType) select r).Cache <OnDemandQueryRequest>(); pageCookie = PagingHelper.GetProcessedCookie(pagingQueryFilter, out complete); return(result); }
internal IEnumerable <SpamRuleProcessorBlob> FindSpamRuleProcessors(QueryFilter queryFilter) { string cookie = null; List <SpamRuleProcessorBlob> list = new List <SpamRuleProcessorBlob>(); bool flag = false; while (!flag) { QueryFilter pagingQueryFilter = PagingHelper.GetPagingQueryFilter(queryFilter, cookie); IEnumerable <SpamRuleProcessorBlob> collection = base.DataProvider.FindPaged <SpamRuleProcessorBlob>(pagingQueryFilter, null, true, null, 1000); list.AddRange(collection); cookie = PagingHelper.GetProcessedCookie(pagingQueryFilter, out flag); } return(list); }
internal IEnumerable <TenantIPInfo> FindPagedTenantIPs(ref string pageCookie, int pageSize) { List <TenantIPInfo> list = new List <TenantIPInfo>(); string text = pageCookie ?? string.Empty; foreach (object propertyValue in ((IPartitionedDataProvider)this.WebStoreDataProvider).GetAllPhysicalPartitions()) { QueryFilter baseQueryFilter = new ComparisonFilter(ComparisonOperator.Equal, DalHelper.PhysicalInstanceKeyProp, propertyValue); QueryFilter pagingQueryFilter = PagingHelper.GetPagingQueryFilter(baseQueryFilter, text); list.AddRange(this.WebStoreDataProvider.FindPaged <TenantIPInfo>(pagingQueryFilter, null, false, null, pageSize)); bool flag = true; text = PagingHelper.GetProcessedCookie(pagingQueryFilter, out flag); } pageCookie = text; return(list); }
internal IEnumerable <SpamRuleBlob> FindPagedSpamRules(RuleScope scopeId, RuleStatusType publishingState, ref string pageCookie) { List <SpamRuleBlob> list = new List <SpamRuleBlob>(); QueryFilter baseQueryFilter = QueryFilter.AndTogether(new QueryFilter[] { new ComparisonFilter(ComparisonOperator.Equal, SpamRuleBlobSchema.ScopeIdProperty, (byte)scopeId), new ComparisonFilter(ComparisonOperator.Equal, SpamRuleBlobSchema.PublishingStateProperty, (byte)publishingState), base.BuildVersionParam }); bool flag = false; while (!flag) { QueryFilter pagingQueryFilter = PagingHelper.GetPagingQueryFilter(baseQueryFilter, pageCookie); IEnumerable <SpamRuleBlob> collection = base.DataProvider.FindPaged <SpamRuleBlob>(pagingQueryFilter, null, true, null, 1000); list.AddRange(collection); pageCookie = PagingHelper.GetProcessedCookie(pagingQueryFilter, out flag); } return(list); }
protected override T[] GetNextPage() { QueryFilter pagingQueryFilter = PagingHelper.GetPagingQueryFilter(this.queryFilter, this.cookie); T[] result = null; try { result = this.Find(pagingQueryFilter); } catch (PermanentDALException) { base.RetrievedAllData = new bool?(true); throw; } bool value = false; this.cookie = PagingHelper.GetProcessedCookie(pagingQueryFilter, out value); base.RetrievedAllData = new bool?(value); return(result); }
private PolicyChangeBatch GetChangesInternal <TStorage, TResult>(TenantCookieCollection tenantCookies, Func <TStorage, TResult> convertFunc, bool scopeToWorkload) where TStorage : UnifiedPolicyStorageBase, new() where TResult : PolicyConfigurationBase { PolicyChangeBatch newBatch = UnifiedPolicySession.GetNewBatch <TResult>(tenantCookies); List <TResult> list = new List <TResult>(); foreach (TenantCookie tenantCookie in ((IEnumerable <TenantCookie>)tenantCookies)) { PolicySyncCookie policySyncCookie = PolicySyncCookie.Deserialize(tenantCookie.Cookie); string pagingWatermark = UnifiedPolicySession.GetPagingWatermark <TResult>(policySyncCookie); QueryFilter queryFilter = UnifiedPolicySession.CreateGetChangesQueryFilter(tenantCookie, pagingWatermark, tenantCookies.Workload, scopeToWorkload); list.AddRange(from TStorage s in UnifiedPolicySession.GetTenantSession(tenantCookie.TenantId).FindPaged <TStorage>(queryFilter, null, false, null, 1000) select convertFunc(s)); bool flag; UnifiedPolicySession.SetPagingWatermark <TResult>(policySyncCookie, PagingHelper.GetProcessedCookie(queryFilter, out flag)); TenantCookie tenantCookie2 = newBatch.NewCookies[tenantCookie.TenantId]; tenantCookie2.Cookie = policySyncCookie.Serialize(); tenantCookie2.MoreData = !flag; } newBatch.Changes = list; return(newBatch); }
private IEnumerable <T> FindPagedGenericData <T>(ref string[] cookie, int pageSize, out bool isComplete) where T : IConfigurable, new() { string text = "[end]"; List <T> list = new List <T>(); int[] array = ((IPartitionedDataProvider)this.WebStoreDataProvider).GetAllPhysicalPartitions().Cast <int>().ToArray <int>(); string[] array2; if (cookie == null) { array2 = new string[array.Length]; } else { array2 = cookie; } isComplete = true; foreach (int num in array) { bool flag = true; QueryFilter baseQueryFilter = new ComparisonFilter(ComparisonOperator.Equal, DalHelper.PhysicalInstanceKeyProp, num); string text2 = array2[num] ?? string.Empty; if (text2 != text) { QueryFilter pagingQueryFilter = PagingHelper.GetPagingQueryFilter(baseQueryFilter, text2); list.AddRange(this.WebStoreDataProvider.FindPaged <T>(pagingQueryFilter, null, false, null, pageSize)); text2 = PagingHelper.GetProcessedCookie(pagingQueryFilter, out flag); } if (flag) { array2[num] = text; } else { array2[num] = text2; isComplete = false; } } cookie = array2; return(list); }
private PolicyChangeBatch GetBindingChanges(TenantCookieCollection tenantCookies) { IConfigDataProvider configDataProvider = ConfigDataProviderFactory.Default.Create(DatabaseType.Directory); PolicyChangeBatch newBatch = UnifiedPolicySession.GetNewBatch <BindingConfiguration>(tenantCookies); List <BindingStorage> list = new List <BindingStorage>(); List <ScopeStorage> list2 = new List <ScopeStorage>(); new List <BindingConfiguration>(); foreach (TenantCookie tenantCookie in ((IEnumerable <TenantCookie>)tenantCookies)) { PolicySyncCookie policySyncCookie = PolicySyncCookie.Deserialize(tenantCookie.Cookie); string pagingWatermark = UnifiedPolicySession.GetPagingWatermark <BindingConfiguration>(policySyncCookie); string pagingWatermark2 = UnifiedPolicySession.GetPagingWatermark <ScopeConfiguration>(policySyncCookie); QueryFilter queryFilter = UnifiedPolicySession.CreateGetChangesQueryFilter(tenantCookie, pagingWatermark, tenantCookies.Workload, true); QueryFilter queryFilter2 = UnifiedPolicySession.CreateGetChangesQueryFilter(tenantCookie, pagingWatermark2, tenantCookies.Workload, true); list.AddRange(configDataProvider.FindPaged <BindingStorage>(queryFilter, null, false, null, 1000).Cast <BindingStorage>()); list2.AddRange(configDataProvider.FindPaged <ScopeStorage>(queryFilter2, null, false, null, 1000).Cast <ScopeStorage>()); bool flag; UnifiedPolicySession.SetPagingWatermark <BindingConfiguration>(policySyncCookie, PagingHelper.GetProcessedCookie(queryFilter, out flag)); bool flag2; UnifiedPolicySession.SetPagingWatermark <ScopeConfiguration>(policySyncCookie, PagingHelper.GetProcessedCookie(queryFilter2, out flag2)); TenantCookie tenantCookie2 = newBatch.NewCookies[tenantCookie.TenantId]; tenantCookie2.Cookie = policySyncCookie.Serialize(); tenantCookie2.MoreData = (!flag || !flag2); } using (List <ScopeStorage> .Enumerator enumerator2 = list2.GetEnumerator()) { while (enumerator2.MoveNext()) { UnifiedPolicySession.< > c__DisplayClass19 CS$ < > 8__locals1 = new UnifiedPolicySession.< > c__DisplayClass19(); CS$ < > 8__locals1.scope = enumerator2.Current; Guid parentBindingId = Guid.Parse((string)CS$ < > 8__locals1.scope[UnifiedPolicyStorageBaseSchema.ContainerProp]); BindingStorage bindingStorage = list.FirstOrDefault((BindingStorage b) => b.Id.ObjectGuid == parentBindingId && b.OrganizationalUnitRoot.ObjectGuid == CS$ < > 8__locals1.scope.OrganizationalUnitRoot.ObjectGuid); if (bindingStorage == null) { bindingStorage = configDataProvider.Find <BindingStorage>(UnifiedPolicySession.CreateGetObjectQueryFilter(CS$ < > 8__locals1.scope.OrganizationalUnitRoot.ObjectGuid, parentBindingId, true), null, false, null).Cast <BindingStorage>().FirstOrDefault <BindingStorage>(); list.Add(bindingStorage); } if (CS$ < > 8__locals1.scope.ObjectState == ObjectState.Deleted) { bindingStorage.RemovedScopes.Add(CS$ < > 8__locals1.scope); }