/*
Kooboo is a content management system based on ASP.NET MVC framework. Copyright 2009 Yardi Technology Limited.
This program is free software: you can redistribute it and/or modify it under the terms of the
GNU General Public License version 3 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program.
If not, see http://www.kooboo.com/gpl3/.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Everest.Library.ExtensionMethod;
using Everest.CmsServices.Models;
namespace Everest.CmsServices.DataRule{
/// <summary>
///
/// </summary>
public class BinaryContentCountEvaluator : BinaryContentEvaluator
{
public BinaryContentCountEvaluator(Cms_Folder folder, IEnumerable<Cms_Folder> baseFolders)
: base(folder, baseFolders)
{
}
/// <summary>
/// Gets the type of the rule.
/// </summary>
/// <value>The type of the rule.</value>
public override DataRuleValueType RuleType
{
get { return DataRuleValueType.Count; }
}
/// <summary>
/// Evaluates the specified context.
/// </summary>
/// <param name="context">The context.</param>
/// <param name="dataRule">The data rule.</param>
/// <returns></returns>
public override object Evaluate(DataRuleContext context, Cms_DataRule dataRule, TimeSpan? cacheTime)
{
string queryStatement = dataRule.ValueRule;
return context.ContentProvider.BinaryContentQuerier.CountContents(context.DataContext,
queryStatement, context.QueryString.ToDictionary(), this.Folder, this.BaseFolders, cacheTime);
}
}
}
|