using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CMS.Controls; using CMS.GlobalHelper; using CMS.SettingsProvider; public partial class CMSWebParts_Filters_DocumentNameFilter_files_DocumentNameFilterControl : CMSAbstractDataFilterControl { #region "Public properties" /// /// Gets or sets the button text. /// public string ButtonText { get { if (string.IsNullOrEmpty(btnSelect.Text)) { btnSelect.Text = ResHelper.GetString("general.search"); } return btnSelect.Text; } set { btnSelect.Text = value; } } /// /// Gets or sets the button css class. /// public string ButtonCssClass { get { return btnSelect.CssClass; } set { btnSelect.CssClass = value; } } /// /// Gets or sets the label resource string. /// public string LabelText { get { return lblValue.ResourceString; } set { lblValue.ResourceString = value; } } /// /// Gets or sets the label css class. /// public string LabelCssClass { get { return lblValue.CssClass; } set { lblValue.CssClass = value; } } /// /// Gets or sets the textbox css class. /// public string TextBoxCssClass { get { return txtValue.CssClass; } set { txtValue.CssClass = value; } } #endregion #region "Methods" /// /// OnLoad override - check whether filter is set. /// protected override void OnLoad(EventArgs e) { // Set filter only if it is not filter request if (Request.Form[btnSelect.UniqueID] == null) { // Try to get where condition string wherePart = ValidationHelper.GetString(ViewState["FilterCondition"], string.Empty); if (!string.IsNullOrEmpty(wherePart)) { // Set where condition and raise OnFilter change event WhereCondition = GenerateWhereCondition(wherePart); // Raise event RaiseOnFilterChanged(); } } btnSelect.Text = ButtonText; base.OnLoad(e); } /// /// OnPreRender override. /// protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); lblValue.Display = !string.IsNullOrEmpty(LabelText); } /// /// Select button handler. /// /// Sender /// EventArgs protected void btnSelect_Click(object sender, EventArgs e) { // Set where condition WhereCondition = GenerateWhereCondition(txtValue.Text); // Save filter condition ViewState["FilterCondition"] = txtValue.Text; // Raise OnFilterChange event RaiseOnFilterChanged(); } /// /// Generates where condition. /// /// Phrase to be searched /// Where condition for given phrase. protected static string GenerateWhereCondition(string searchPhrase) { if (!string.IsNullOrEmpty(searchPhrase)) { searchPhrase = SqlHelperClass.GetSafeQueryString(searchPhrase, false); return "(DocumentName LIKE N'%" + searchPhrase + "%')"; } return string.Empty; } #endregion }