示例#1
0
        } // _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()
示例#2
0
 public CswNbtFieldTypeRuleDefaultImpl(CswNbtFieldResources CswNbtFieldResources)
 {
     _CswNbtFieldResources = CswNbtFieldResources;
     _SubFields            = new CswNbtSubFieldColl(); // this should be filled in by the parent class
 }//ctor