/// <summary>
        /// Creates a CswNbtViewPropertyFilter and returns its Json
        /// </summary>
        public JObject makeViewPropFilter(CswNbtView View, JObject FilterProp, bool ClearFilters = false)
        {
            JObject Ret = new JObject();

            string FiltArbitraryId = CswConvert.ToString(FilterProp["filtarbitraryid"]);
            string PropArbitraryId = CswConvert.ToString(FilterProp["proparbitraryid"]);

            if (FiltArbitraryId == "undefined")
            {
                FiltArbitraryId = string.Empty;
            }
            if (PropArbitraryId == "undefined")
            {
                PropArbitraryId = string.Empty;
            }

            CswNbtViewPropertyFilter ViewPropFilt = null;

            if (false == string.IsNullOrEmpty(PropArbitraryId))
            {
                CswNbtViewProperty ViewProp = (CswNbtViewProperty)View.FindViewNodeByArbitraryId(PropArbitraryId);

                if (false == string.IsNullOrEmpty(FiltArbitraryId))
                {
                    ViewPropFilt = (CswNbtViewPropertyFilter)View.FindViewNodeByArbitraryId(FiltArbitraryId);
                }
                else
                {
                    ViewPropFilt = View.AddViewPropertyFilter(ViewProp, CswEnumNbtSubFieldName.Unknown, CswEnumNbtFilterMode.Unknown, string.Empty, false);
                }

                //Case 23779, 23937, 24064
                if (ClearFilters && null != ViewPropFilt)
                {
                    ViewProp.Filters.Clear();
                    ViewProp.Filters.Add(ViewPropFilt);
                }
            }

            if (ViewPropFilt != null)
            {
                CswEnumNbtFilterConjunction Conjunction = (CswEnumNbtFilterConjunction)CswConvert.ToString(FilterProp["conjunction"]);
                CswEnumNbtSubFieldName      FieldName   = (CswEnumNbtSubFieldName)CswConvert.ToString(FilterProp["subfieldname"]);
                CswEnumNbtFilterMode        FilterMode  = (CswEnumNbtFilterMode)CswConvert.ToString(FilterProp["filter"]);
                string FilterValue = CswConvert.ToString(FilterProp["filtervalue"]);

                if (FieldName != CswEnumNbtSubFieldName.Unknown &&
                    FilterMode != CswEnumNbtFilterMode.Unknown)
                {
                    ViewPropFilt.FilterMode   = FilterMode;
                    ViewPropFilt.Conjunction  = Conjunction;
                    ViewPropFilt.SubfieldName = FieldName;
                    ViewPropFilt.Value        = FilterValue;
                    _addVbPropFilter(Ret, ViewPropFilt);
                }
            }
            return(Ret);
        }
Exemple #2
0
 /// <summary>
 /// For creating a property filter
 /// </summary>
 public CswNbtViewPropertyFilter(CswNbtResources CswNbtResources, CswNbtView View,
                                 CswEnumNbtSubFieldName inSubFieldName,
                                 CswEnumNbtFilterMode inFilterMode,
                                 string inValue,
                                 CswEnumNbtFilterResultMode inResultMode,
                                 CswEnumNbtFilterConjunction PropertyFilterConjunction,
                                 bool inCaseSensitive = false,
                                 bool inShowAtRuntime = false)
     : base(CswNbtResources, View)
 {
     _constructor(CswNbtResources, View, inSubFieldName, inFilterMode, inValue, inResultMode, inCaseSensitive, inShowAtRuntime, PropertyFilterConjunction);
 }
Exemple #3
0
 private void _constructor(CswNbtResources CswNbtResources, CswNbtView View,
                           CswEnumNbtSubFieldName inSubFieldName,
                           CswEnumNbtFilterMode inFilterMode,
                           string inValue,
                           CswEnumNbtFilterResultMode inResultMode,
                           bool inCaseSensitive,
                           bool inShowAtRuntime,
                           CswEnumNbtFilterConjunction inPropertyFilterConjunction)
 {
     SubfieldName  = inSubFieldName;
     FilterMode    = inFilterMode;
     Value         = inValue;
     CaseSensitive = inCaseSensitive;
     ShowAtRuntime = inShowAtRuntime;
     ResultMode    = inResultMode;
     Conjunction   = inPropertyFilterConjunction;
 }