Exemple #1
0
        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);
                }
            }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }