public override FilterList GetFilterFields(Type cardType, FullTextSearchResultModel searchModel) { if (cardType == null || typeof(IEmailMessageFullTextSearchObject) != cardType) { return(new FilterList()); } var filterList = new FilterList(); var emailMessageFullTextSearchResultModel = searchModel as EmailMessageFullTextSearchResultModel; if (emailMessageFullTextSearchResultModel != null && emailMessageFullTextSearchResultModel.TypeUid != Guid.Empty) { var classMetadata = MetadataLoader.LoadMetadata(emailMessageFullTextSearchResultModel.TypeUid) as ClassMetadata; if (classMetadata != null) { var list = (from c in MetadataLoader.GetChildClasses(classMetadata) where c != null select c).ToList(); list.Add(classMetadata); var list2 = new List <object>(); list2.AddRange(from c in list select c.Uid.ToString("n")); filterList.Add(new FilterListItem(LinqUtils.NameOf((IEmailMessageFullTextSearchObject d) => d.TypeUid), list2, FilterListItemType.Must, FullTextFieldType.String)); } } var emailMessageFullTextSearchResultModel2 = searchModel as EmailMessageFullTextSearchResultModel; if (emailMessageFullTextSearchResultModel2?.Contractor != null) { var contractorId = emailMessageFullTextSearchResultModel2.Contractor.Id; filterList.Add(new FilterListItem(LinqUtils.NameOf((IEmailMessageFullTextSearchObject d) => d.Contractors), new List <object>() { contractorId }, FilterListItemType.Must, FullTextFieldType.Long)); } if (emailMessageFullTextSearchResultModel2?.Contact != null) { var contactId = emailMessageFullTextSearchResultModel2.Contact.Id; filterList.Add(new FilterListItem(LinqUtils.NameOf((IEmailMessageFullTextSearchObject d) => d.Contacts), new List <object>() { contactId }, FilterListItemType.Must, FullTextFieldType.Long)); } filterList.Add(new FilterListItem(LinqUtils.NameOf((IEmailMessageFullTextSearchObject d) => d.IsDeleted), new List <object> { "false" }, FilterListItemType.Must, FullTextFieldType.String)); return(filterList); }
public override FilterList GetAutoFilterFields(Type cardType, FilterProperty filterProperty, FullTextSearchResultModel searchModel) { return(null); }