using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CMS.FormControls; using CMS.GlobalHelper; using CMS.SettingsProvider; using CMS.UIControls; public partial class CMSModules_Groups_FormControls_MultipleGroupSelector : FormEngineUserControl { #region "Private variables" private int mSiteId = 0; private bool reloadData = false; #endregion #region "Public properties" /// /// Helper parameter - site ID. /// public override object FormControlParameter { get { return mSiteId; } set { mSiteId = ValidationHelper.GetInteger(value, 0); } } /// /// Gets or sets site ID. /// public int SiteID { get { return mSiteId; } set { mSiteId = value; } } /// /// Gets or sets the enabled state of the control. /// public override bool Enabled { get { return base.Enabled; } set { EnsureChildControls(); base.Enabled = value; usGroups.Enabled = value; } } /// /// Gets the currene UniSelector instance. /// public UniSelector CurrentSelector { get { EnsureChildControls(); return usGroups; } } /// /// Group code name. /// public string GroupCodeName { get { EnsureChildControls(); return ValidationHelper.GetString(usGroups.Value, ""); } set { EnsureChildControls(); usGroups.Value = value; } } /// /// Gets the current drop down control. /// public DropDownList CurrentDropDown { get { EnsureChildControls(); return usGroups.DropDownSingleSelect; } } /// /// Gets or sets group name. /// public override object Value { get { EnsureChildControls(); return usGroups.Value; } set { EnsureChildControls(); usGroups.Value = value; } } /// /// Gets ClientID of the dropdownlist with groups. /// public override string ValueElementID { get { EnsureChildControls(); return usGroups.ClientID; } } /// /// Gets or sets if live iste property. /// public override bool IsLiveSite { get { EnsureChildControls(); return base.IsLiveSite; } set { EnsureChildControls(); base.IsLiveSite = value; usGroups.IsLiveSite = value; } } #endregion #region "Methods" /// /// Page_load event. /// /// Sender /// Arguments protected void Page_Load(object sender, EventArgs e) { if (StopProcessing) { usGroups.StopProcessing = true; } else { // Build WHERE condition usGroups.WhereCondition = "GroupSiteID =" + SiteID; // Set ReturnColumnName string returnColumnName = ValidationHelper.GetString(GetValue("ReturnColumnName"), null); if (!String.IsNullOrEmpty(returnColumnName)) { usGroups.ReturnColumnName = returnColumnName; } } } /// /// Reloads the selector's data. /// /// Indicates whether data should be forcibly reloaded public void Reload(bool forceReload) { usGroups.Reload(forceReload); } /// /// On PreRender. /// protected override void OnPreRender(EventArgs e) { if (reloadData) { Reload(true); } } public override void SetValue(string propertyName, object value) { switch (propertyName.ToLowerCSafe()) { case "reloaddata": reloadData = ValidationHelper.GetBoolean(value, false); return; } base.SetValue(propertyName, value); } #endregion }