using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using CMS.CMSHelper;
using CMS.Controls;
using CMS.UIControls;
///
/// Site selector for selecting site specific, all sites or global objects.
///
public partial class CMSModules_BannerManagement_Controls_Filters_SiteSelector : CMSAbstractBaseFilterControl
{
#region "Properties"
///
/// Where condition.
///
public override string WhereCondition
{
get
{
base.WhereCondition = GetWhereCondition();
return base.WhereCondition;
}
set
{
base.WhereCondition = value;
}
}
///
/// Gets or sets site ID.
///
public int SiteID
{
get
{
return siteSelector.SiteID;
}
set
{
siteSelector.SiteID = value;
}
}
///
/// Filter value.
///
public override object Value
{
get
{
return siteSelector.Value;
}
set
{
siteSelector.Value = value;
}
}
#endregion
#region "Methods and events"
///
/// OnLoad override - check whether filter is set.
///
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
siteSelector.Selector.SelectedIndexChanged += new EventHandler(Selector_SelectedIndexChanged);
}
///
/// Generates where condition.
///
public string GetWhereCondition()
{
int currentSiteID = CMSContext.CurrentSiteID;
switch (siteSelector.SiteID)
{
case UniSelector.US_GLOBAL_RECORD: // Global objects only
return "BannerCategorySiteID IS NULL";
case UniSelector.US_GLOBAL_OR_SITE_RECORD: // Global and site objects
return "(BannerCategorySiteID = " + currentSiteID + ") OR BannerCategorySiteID IS NULL";
default: // Site objects only
return "BannerCategorySiteID = " + currentSiteID;
}
}
///
/// Handles Site selector OnSelectionChanged event.
///
protected void Selector_SelectedIndexChanged(object sender, EventArgs e)
{
// Raise OnFilterChange event
RaiseOnFilterChanged();
}
#endregion
}