using System; using System.Data; using CMS.FormControls; using CMS.GlobalHelper; using CMS.SettingsProvider; public partial class CMSModules_ContactManagement_FormControls_FormControlsSelector : FormEngineUserControl { #region "Properties" /// /// Gets or sets field value. /// public override object Value { get { // "none" selected if (ucType.DropDownSingleSelect.SelectedIndex <= 0) { return null; } return ucType.Value; } set { ucType.Value = ValidationHelper.GetString(value, null); } } /// /// Gets selected value as string. /// public string SelectedValue { get { return ValidationHelper.GetString(Value, null); } } /// /// If set, only controls of this type are shown. /// public int? ShowControlsOfType { get; set; } /// /// If set, only form controls for integer are shown. /// public bool ShowControlsForInteger { get; set; } /// /// Gets or sets additional list of controls that will be shown. /// List must contain form control code names separated by semicolon ("formcontrol1;formcontrol2;formcontrol3"). /// public string ShowAdditionalControls { get; set; } #endregion #region "Methods" protected void Page_Load(object sender, EventArgs e) { if (StopProcessing) { ucType.Visible = false; return; } if (!String.IsNullOrEmpty(CssClass)) { ucType.DropDownSingleSelect.CssClass = CssClass; } // Additional item for selecting default control string[,] specFields = new string[,] { { GetString("general.defaultchoice"), "##default##" } }; ucType.SpecialFields = specFields; string where = null; if (ShowControlsForInteger) { where = SqlHelperClass.AddWhereCondition(where, "UserControlForInteger=1"); } if (ShowControlsOfType == null) { where = SqlHelperClass.AddWhereCondition(where, "UserControlType IS NULL"); } else if (ShowControlsOfType >= 0) { where = SqlHelperClass.AddWhereCondition(where, "UserControlType=" + ShowControlsOfType.ToString()); } // Show additional controls if (!String.IsNullOrEmpty(ShowAdditionalControls)) { if (!String.IsNullOrEmpty(where)) { where = "(" + where + ") OR "; } where += "UserControlCodeName IN ('" + SqlHelperClass.GetSafeQueryString(ShowAdditionalControls).Replace(";", "','") + "')"; } ucType.WhereCondition = where; } #endregion }