} // _getVbProperties() /// <summary> /// Returns the JSON for a Vb prop /// </summary> private void _getVbPropData(JObject ParentObj, CswViewBuilderProp ViewBuilderProp) { if (null != ViewBuilderProp && ViewBuilderProp.FieldTypeRule.SearchAllowed) { CswNbtSubFieldColl SubFields = ViewBuilderProp.FieldTypeRule.SubFields; ParentObj["ownername"] = ViewBuilderProp.OwnerName; ParentObj["propname"] = ViewBuilderProp.MetaDataPropName; ParentObj["viewbuilderpropid"] = ViewBuilderProp.MetaDataPropId.ToString(); ParentObj["relatedidtype"] = ViewBuilderProp.RelatedIdType.ToString(); ParentObj["proptype"] = ViewBuilderProp.Type.ToString(); ParentObj["metadatatypename"] = ViewBuilderProp.MetaDataTypeName; ParentObj["fieldtype"] = ViewBuilderProp.FieldType.ToString(); if (ViewBuilderProp.ViewProp != null) { ParentObj["proparbitraryid"] = ViewBuilderProp.ViewProp.ArbitraryId; } string FiltArbitraryId = string.Empty; if (ViewBuilderProp.Filters.Count > 0) { CswNbtViewPropertyFilter Filt = (CswNbtViewPropertyFilter)ViewBuilderProp.Filters[0]; FiltArbitraryId = Filt.ArbitraryId; } ParentObj["filtarbitraryid"] = FiltArbitraryId; ParentObj["defaultconjunction"] = CswEnumNbtFilterConjunction.And.ToString(); ParentObj["defaultsubfield"] = ViewBuilderProp.FieldTypeRule.SubFields.Default.Name.ToString(); ParentObj["defaultfiltermode"] = ViewBuilderProp.FieldTypeRule.SubFields.Default.DefaultFilterMode.ToString(); ParentObj["helptext"] = ViewBuilderProp.FieldTypeRule.getHelpText(); ParentObj["subfields"] = new JObject(); foreach (CswNbtSubField Field in SubFields) { string OptName = Field.Name.ToString(); ParentObj["subfields"][OptName] = new JObject(); ParentObj["subfields"][OptName]["column"] = Field.Column.ToString(); ParentObj["subfields"][OptName]["name"] = OptName; JObject FiltersObj = new JObject(); ParentObj["subfields"][OptName]["filtermodes"] = FiltersObj; _addSubFieldFilterModes(FiltersObj, Field); } addVbPropFilters(ParentObj, ViewBuilderProp); if (ViewBuilderProp.FieldType == CswEnumNbtFieldType.List) { ParentObj["filtersoptions"] = new JObject(); ParentObj["filtersoptions"]["name"] = ViewBuilderProp.MetaDataPropName; if (ViewBuilderProp.ListOptions.Count() > 0) { ParentObj["filtersoptions"]["selected"] = ViewBuilderProp.ListOptions.First(); ParentObj["filtersoptions"]["options"] = _getListPropFilterOptions(ViewBuilderProp); } } } } // _getVbPropData()
public CswNbtFieldTypeRuleDefaultImpl(CswNbtFieldResources CswNbtFieldResources) { _CswNbtFieldResources = CswNbtFieldResources; _SubFields = new CswNbtSubFieldColl(); // this should be filled in by the parent class }//ctor