private void BuildFieldConfiguration() { this._multilanguageFieldGenerators = new List <ProviderConfiguration.MultilanguageFieldGenerator>(); this._fields = new List <IFieldConfiguration>(); this._fields.Add((IFieldConfiguration) new ProviderFieldConfiguration <int>("catalogentryid", (Expression <Func <FindDocument, int> >)(d => d.CatalogEntryId))); this._fields.Add((IFieldConfiguration) new ProviderFieldConfiguration <DateTime>("startdate", (Expression <Func <FindDocument, DateTime> >)(d => d.StartDate))); this._fields.Add((IFieldConfiguration) new ProviderFieldConfiguration <DateTime>("enddate", (Expression <Func <FindDocument, DateTime> >)(d => d.EndDate))); this._fields.Add((IFieldConfiguration) new ProviderFieldConfiguration <string>("name", (Expression <Func <FindDocument, string> >)(d => d.Name), 1 != 0)); this._fields.Add((IFieldConfiguration) new ProviderFieldConfiguration <string>("catalogentrycode", (Expression <Func <FindDocument, string> >)(d => d.CatalogEntryCode), 1 != 0)); this._fields.Add((IFieldConfiguration) new ProviderFieldConfiguration <string>("metaclassname", (Expression <Func <FindDocument, string> >)(d => d.MetaClassName))); this._fields.Add((IFieldConfiguration) new ProviderFieldConfiguration <string>("catalogentrytype", (Expression <Func <FindDocument, string> >)(d => d.CatalogEntryType))); this._fields.Add((IFieldConfiguration) new ProviderFieldConfiguration <IEnumerable <string> >("languages", (Expression <Func <FindDocument, IEnumerable <string> > >)(d => d.Languages))); this._fields.Add((IFieldConfiguration) new ProviderFieldConfiguration <IEnumerable <string> >("currencies", (Expression <Func <FindDocument, IEnumerable <string> > >)(d => d.Currencies))); this._fields.Add((IFieldConfiguration) new ProviderFieldConfiguration <IEnumerable <string> >("markets", (Expression <Func <FindDocument, IEnumerable <string> > >)(d => d.Markets))); this._fields.Add((IFieldConfiguration) new ProviderFieldConfiguration <IEnumerable <string> >("catalogs", (Expression <Func <FindDocument, IEnumerable <string> > >)(d => d.Catalogs))); this._fields.Add((IFieldConfiguration) new ProviderFieldConfiguration <IEnumerable <string> >("outlines", (Expression <Func <FindDocument, IEnumerable <string> > >)(d => d.Outlines))); this._fields.Add((IFieldConfiguration) new ProviderFieldConfiguration <IEnumerable <string> >("catalognodes", (Expression <Func <FindDocument, IEnumerable <string> > >)(d => d.CatalogNodes))); foreach (MetaField entryUserMetaField in ProviderConfiguration.GetCatalogEntryUserMetaFields()) { Type type; ProviderConfiguration._documentFieldTypes.TryGetValue(entryUserMetaField.DataType, out type); bool safeAllowSearch = entryUserMetaField.SafeAllowSearch; bool flag1 = string.Equals(entryUserMetaField.Attributes["includeindefaultsearch"], "true", StringComparison.OrdinalIgnoreCase); bool flag2 = string.Equals(entryUserMetaField.Attributes["indexsortable"], "true", StringComparison.OrdinalIgnoreCase); bool flag3 = string.Equals(entryUserMetaField.Attributes["indexstored"], "true", StringComparison.OrdinalIgnoreCase); if (type != (Type)null && safeAllowSearch | flag1 | flag2 | flag3) { bool isIncludedInDefaultSearch = flag1 && (type == typeof(string) || type == typeof(int?) || type == typeof(IEnumerable <string>)); if (entryUserMetaField.MultiLanguageValue) { this._multilanguageFieldGenerators.Add(new ProviderConfiguration.MultilanguageFieldGenerator(entryUserMetaField.Name, type, isIncludedInDefaultSearch)); } else { this._fields.Add(ProviderConfiguration.CreateUserField(entryUserMetaField.Name, (string)null, isIncludedInDefaultSearch, type)); } } } }
public IFieldConfiguration Generate(string locale) { return(ProviderConfiguration.CreateUserField(this.Name, locale, this.IsIncludedInDefaultSearch, this.Type)); }