private void ShowFieldValueOptions_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            FilterControlModel model = (FilterControlModel)this.DataContext;
            ValueOptionsWindow vow   = new ValueOptionsWindow(model.FieldValue);

            if ((bool)vow.ShowDialog())
            {
                model.FieldValue = vow.Result;
            }
        }
        private CursorFilterTypeCTI ConstructCTIFilter(ICursorFilter filter, FilterControlModel m)
        {
            var f = (CursorFilterTypeCTI)filter;

            f.ClauseNumber     = m.ClauseNumber;
            f.Except           = m.Except;
            f.ClarifySeparator = _model.CurrentConnectedItem?.ClarifySeparator;
            f.ClarifyValue     = _model.CurrentConnectedItem?.ClarifyValue;
            f.Connection       = m.CurrentFieldListItem.ConnectionName;
            f.Category         = m.CurrentFieldListItem.ToCategory;
            f.Item             = m.CurrentConnectedItem?.ItemName;
            return(f);
        }
        private CursorFilterTypeF ConstructFFilter(ICursorFilter filter, FilterControlModel m)
        {
            var f = (CursorFilterTypeF)filter;

            f.ClauseNumber = m.ClauseNumber;
            f.MatchCase    = m.MatchCase;
            f.Except       = m.Except;
            f.FieldName    = m.CurrentFieldListItem.FieldName;
            f.Qualifier    = m.SelectedFilterQualifier;
            if (m.SelectedFilterQualifier == FilterQualifier.Between)
            {
                f.FilterBetweenStartValue = m.BetweenStart;
                f.FilterBetweenEndValue   = m.BetweenEnd;
            }
            if (m.SelectedFilterQualifier.GetAttribute <FilterValuesAttribute>()?.Number == 1)
            {
                f.FieldValue = m.FieldValue;
            }
            return(f);
        }
 internal FilterConstructor(FilterControlModel model, FilterType filterType)
 {
     _model = model;
     _model.PropertyChanged += Model_PropertyChanged;
     _filter = CreateFilter(_model.CategoryName, filterType);
 }