Habanero.Faces.Base.MultiplePropStringTextBoxFilter.GetFilterClause C# (CSharp) Method

GetFilterClause() public method

Returns the filter clause for this control
public GetFilterClause ( IFilterClauseFactory filterClauseFactory ) : IFilterClause
filterClauseFactory IFilterClauseFactory
return IFilterClause
        public IFilterClause GetFilterClause(IFilterClauseFactory filterClauseFactory)
        {
            string filterValue = _textBox.Text;
            if (String.IsNullOrEmpty(filterValue)) return filterClauseFactory.CreateNullFilterClause();
            IFilterClause currentClause = filterClauseFactory.CreateStringFilterClause(_propertyNames[0], _filterClauseOperator, filterValue);
            for (int i = 1; i < _propertyNames.Count; i++)
            {
                IFilterClause rightClause = filterClauseFactory.CreateStringFilterClause(_propertyNames[i], _filterClauseOperator, filterValue);
                currentClause = filterClauseFactory.CreateCompositeFilterClause(currentClause, FilterClauseCompositeOperator.OpOr, rightClause);
            }
            return currentClause;
        }

Usage Example

        public void TestFilterClause_2Prop()
        {
            //---------------Set up test pack-------------------
            const FilterClauseOperator filterClauseOperator = FilterClauseOperator.OpGreaterThan;
            List<string> props = new List<string> { "prop1","prop2" };
            MultiplePropStringTextBoxFilter filter = new MultiplePropStringTextBoxFilter(GetControlFactory(), props, filterClauseOperator);
            ITextBox textBox = (ITextBox) filter.Control;
            string text = TestUtil.GetRandomString();
            textBox.Text = text;

            //---------------Execute Test ----------------------

            IFilterClause filterClause = filter.GetFilterClause(new DataViewFilterClauseFactory());
            //---------------Test Result -----------------------

            Assert.AreEqual(string.Format("({0} > '{2}') or ({1} > '{2}')", props[0],props[1], text), filterClause.GetFilterClauseString());
            //---------------Tear Down -------------------------          
        }
All Usage Examples Of Habanero.Faces.Base.MultiplePropStringTextBoxFilter::GetFilterClause