internal void FindSpamRuleUpdates(RuleScopeType scopeIDs, ref string pageCookie, out SpamRulePackageData newRules, out SpamRulePackageData deletedRules, bool activeOnly = false) { newRules = null; deletedRules = null; QueryFilter queryFilter = QueryFilter.AndTogether(new QueryFilter[] { new ComparisonFilter(ComparisonOperator.Equal, RuleBase.RuleTypeProperty, 0), new ComparisonFilter(ComparisonOperator.Equal, RuleBase.ScopeIDProperty, (byte)scopeIDs), new ComparisonFilter(ComparisonOperator.Equal, KesSpamSchema.ActiveOnlyProperty, activeOnly), base.BuildVersionParam }); List <SpamRule> list = base.FindPagedRules <SpamRule>(queryFilter, ref pageCookie, 1000); if (list != null && list.Count > 0) { List <SpamRule> list2 = (from item in list where item.IsActive.Value select item).ToList <SpamRule>(); if (list2 != null && list2.Any <SpamRule>()) { newRules = base.GenerateSpamRulePackageData(list2); } List <SpamRule> list3 = (from item in list where !item.IsActive.Value select item).ToList <SpamRule>(); if (list3 != null && list3.Count > 0) { deletedRules = base.GenerateSpamRulePackageData(list3); } } }
internal SpamRulePackageData FindSpamRules(RuleScopeType scopeIDs, RuleStatusType ruleStatus, out SpamRulePackageData newRules, out SpamRulePackageData deletedRules, ref DateTime?changedDate, bool activeOnly = true) { newRules = null; deletedRules = null; QueryFilter queryFilter = QueryFilter.AndTogether(new QueryFilter[] { new ComparisonFilter(ComparisonOperator.Equal, RuleBase.RuleTypeProperty, 0), new ComparisonFilter(ComparisonOperator.Equal, RuleBase.ScopeIDProperty, (byte)scopeIDs), new ComparisonFilter(ComparisonOperator.Equal, KesSpamSchema.ActiveOnlyProperty, activeOnly), new ComparisonFilter(ComparisonOperator.Equal, RuleBase.StateProperty, (byte)ruleStatus), base.BuildVersionParam }); if (changedDate != null && changedDate != DateTime.MinValue) { DateTime dateTime = changedDate.Value.Subtract(TimeSpan.FromSeconds(30.0)); queryFilter = QueryFilter.AndTogether(new QueryFilter[] { queryFilter, new ComparisonFilter(ComparisonOperator.Equal, RuleBase.ChangedDatetimeProperty, dateTime) }); } List <SpamRule> list = base.DataProvider.Find <SpamRule>(queryFilter, null, true, null).Cast <SpamRule>().ToList <SpamRule>(); if (list != null && list.Count > 0) { List <SpamRule> list2 = (from item in list where item.IsActive.Value select item).ToList <SpamRule>(); if (list2 != null && list2.Any <SpamRule>()) { newRules = base.GenerateSpamRulePackageData(list2); } List <SpamRule> list3 = (from item in list where !item.IsActive.Value select item).ToList <SpamRule>(); if (list3 != null && list3.Count > 0) { deletedRules = base.GenerateSpamRulePackageData(list3); } changedDate = new DateTime?((from item in list where item.ChangeDatetime != null select item.ChangeDatetime.Value).Max <DateTime>()); return(base.GenerateSpamRulePackageData(list)); } return(null); }
internal SpamRulePackageData FindSpamRules(RuleScopeType scopeIDs, out string pageCookie) { pageCookie = null; QueryFilter queryFilter = QueryFilter.AndTogether(new QueryFilter[] { new ComparisonFilter(ComparisonOperator.Equal, RuleBase.RuleTypeProperty, 0), new ComparisonFilter(ComparisonOperator.Equal, RuleBase.ScopeIDProperty, (byte)scopeIDs), new ComparisonFilter(ComparisonOperator.Equal, KesSpamSchema.ActiveOnlyProperty, true), base.BuildVersionParam }); List <SpamRule> list = base.FindPagedRules <SpamRule>(queryFilter, ref pageCookie, 1000); if (list.Any <SpamRule>()) { return(base.GenerateSpamRulePackageData(list)); } return(null); }
internal SpamRulePackageData FindSpamRules(RuleScopeType scopeIDs, out DateTime currentDate) { currentDate = DateTime.MinValue; QueryFilter filter = QueryFilter.AndTogether(new QueryFilter[] { new ComparisonFilter(ComparisonOperator.Equal, RuleBase.RuleTypeProperty, 0), new ComparisonFilter(ComparisonOperator.Equal, RuleBase.ScopeIDProperty, (byte)scopeIDs), new ComparisonFilter(ComparisonOperator.Equal, KesSpamSchema.ActiveOnlyProperty, true), base.BuildVersionParam }); List <SpamRule> list = base.DataProvider.Find <SpamRule>(filter, null, true, null).Cast <SpamRule>().ToList <SpamRule>(); if (list != null && list.Any <SpamRule>()) { currentDate = (from item in list where item.ChangeDatetime != null select item.ChangeDatetime.Value).Max <DateTime>(); return(base.GenerateSpamRulePackageData(list)); } return(null); }