/// <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); }
/// <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); }
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; }