protected virtual ICollection <String> GetFullTextSearchProperties(XpandSearchCriteriaBuilder criteriaBuilder) { criteriaBuilder.IncludeNonPersistentMembers = false; FullTextSearchTargetPropertiesMode fullTextSearchTargetPropertiesMode = GetFullTextSearchTargetPropertiesMode(); switch (fullTextSearchTargetPropertiesMode) { case FullTextSearchTargetPropertiesMode.AllSearchableMembers: criteriaBuilder.FillSearchProperties(); criteriaBuilder.AddSearchProperties(GetShownProperties(criteriaBuilder)); break; case FullTextSearchTargetPropertiesMode.VisibleColumns: var shownProperties = new List <string>(GetShownProperties(criteriaBuilder)); string friendlyKeyMemberName = FriendlyKeyPropertyAttribute.FindFriendlyKeyMemberName(View.ObjectTypeInfo, true); if (!string.IsNullOrEmpty(friendlyKeyMemberName) && !shownProperties.Contains(friendlyKeyMemberName)) { shownProperties.Add(friendlyKeyMemberName); } criteriaBuilder.SetSearchProperties(shownProperties); break; default: throw new ArgumentException(fullTextSearchTargetPropertiesMode.ToString(), "criteriaBuilder"); } return(criteriaBuilder.SearchProperties); }
private IEnumerable<string> GetFullTextSearchProperties(FullTextSearchTargetPropertiesMode fullTextSearchTargetPropertiesMode) { var criteriaBuilder = new SearchCriteriaBuilder(View.ObjectTypeInfo) {IncludeNonPersistentMembers = false}; switch (fullTextSearchTargetPropertiesMode) { case FullTextSearchTargetPropertiesMode.AllSearchableMembers: criteriaBuilder.FillSearchProperties(); criteriaBuilder.AddSearchProperties(GetShownProperties()); break; case FullTextSearchTargetPropertiesMode.VisibleColumns: var shownProperties = new List<string>(GetShownProperties()); string friendlyKeyMemberName = FriendlyKeyPropertyAttribute.FindFriendlyKeyMemberName(View.ObjectTypeInfo, true); if (!string.IsNullOrEmpty(friendlyKeyMemberName) && !shownProperties.Contains(friendlyKeyMemberName)) { shownProperties.Add(friendlyKeyMemberName); } criteriaBuilder.SetSearchProperties(shownProperties); break; default: throw new ArgumentException(fullTextSearchTargetPropertiesMode.ToString(), "fullTextSearchTargetPropertiesMode"); } return criteriaBuilder.SearchProperties; }