Example #1
0
        internal IEnumerable <SpamExclusionData> FindSpamExclusionData(SpamExclusionDataID dataID, byte dataTypeID, Guid?spamExclusionDataID = null, string exclusionDataTag = null)
        {
            QueryFilter queryFilter = QueryFilter.AndTogether(new QueryFilter[]
            {
                new ComparisonFilter(ComparisonOperator.Equal, SpamExclusionData.DataIDProperty, dataID),
                new ComparisonFilter(ComparisonOperator.Equal, SpamExclusionData.DataTypeIDProperty, dataTypeID)
            });

            if (spamExclusionDataID == null && exclusionDataTag == null)
            {
                throw new ArgumentNullException("SpamExclusionDataID or ExclusionDataTag must be set. Use FindPaged function if you need to read all data.");
            }
            if (spamExclusionDataID != null)
            {
                queryFilter = QueryFilter.AndTogether(new QueryFilter[]
                {
                    queryFilter,
                    new ComparisonFilter(ComparisonOperator.Equal, SpamExclusionData.SpamExclusionDataIDProperty, spamExclusionDataID)
                });
            }
            if (exclusionDataTag != null)
            {
                queryFilter = QueryFilter.AndTogether(new QueryFilter[]
                {
                    queryFilter,
                    new ComparisonFilter(ComparisonOperator.Equal, SpamExclusionData.ExclusionDataTagProperty, exclusionDataTag)
                });
            }
            return(base.DataProvider.Find <SpamExclusionData>(queryFilter, null, true, null).Cast <SpamExclusionData>());
        }
Example #2
0
        internal IPagedReader <SpamExclusionData> FindPagedSpamExclusionData(SpamExclusionDataID dataID, byte dataTypeID, bool?isPersistent = null, bool?isListed = null, string createdBy = null, DateTime?expirationDate = null, string comment = null, int pageSize = 1000)
        {
            QueryFilter queryFilter = QueryFilter.AndTogether(new QueryFilter[]
            {
                new ComparisonFilter(ComparisonOperator.Equal, SpamExclusionData.DataIDProperty, dataID),
                new ComparisonFilter(ComparisonOperator.Equal, SpamExclusionData.DataTypeIDProperty, dataTypeID)
            });

            if (isPersistent != null)
            {
                queryFilter = QueryFilter.AndTogether(new QueryFilter[]
                {
                    queryFilter,
                    new ComparisonFilter(ComparisonOperator.Equal, SpamExclusionData.IsPersistentProperty, isPersistent)
                });
            }
            if (isListed != null)
            {
                queryFilter = QueryFilter.AndTogether(new QueryFilter[]
                {
                    queryFilter,
                    new ComparisonFilter(ComparisonOperator.Equal, SpamExclusionData.IsListedProperty, isListed)
                });
            }
            if (createdBy != null)
            {
                queryFilter = QueryFilter.AndTogether(new QueryFilter[]
                {
                    queryFilter,
                    new ComparisonFilter(ComparisonOperator.Equal, SpamExclusionData.CreatedByProperty, createdBy)
                });
            }
            if (expirationDate != null)
            {
                queryFilter = QueryFilter.AndTogether(new QueryFilter[]
                {
                    queryFilter,
                    new ComparisonFilter(ComparisonOperator.Equal, SpamExclusionData.ExpirationDateProperty, expirationDate)
                });
            }
            if (comment != null)
            {
                queryFilter = QueryFilter.AndTogether(new QueryFilter[]
                {
                    queryFilter,
                    new ComparisonFilter(ComparisonOperator.Equal, SpamExclusionData.CommentProperty, comment)
                });
            }
            return(new ConfigDataProviderPagedReader <SpamExclusionData>(base.DataProvider, null, queryFilter, null, pageSize));
        }