protected virtual ICollection <string> GetFullTextSearchProperties(XpandSearchCriteriaBuilder criteriaBuilder, ListView listView) { criteriaBuilder.IncludeNonPersistentMembers = false; var fullTextSearchTargetPropertiesMode = GetFullTextSearchTargetPropertiesMode(); switch (fullTextSearchTargetPropertiesMode) { case FullTextSearchTargetPropertiesMode.AllSearchableMembers: criteriaBuilder.FillSearchProperties(); criteriaBuilder.AddSearchProperties(GetShownProperties(criteriaBuilder, listView)); break; case FullTextSearchTargetPropertiesMode.VisibleColumns: var shownProperties = new List <string>(GetShownProperties(criteriaBuilder, listView)); string friendlyKeyMemberName = FriendlyKeyPropertyAttribute.FindFriendlyKeyMemberName(View.ObjectTypeInfo, true); if (!string.IsNullOrEmpty(friendlyKeyMemberName) && !shownProperties.Contains(friendlyKeyMemberName)) { shownProperties.Add(friendlyKeyMemberName); } criteriaBuilder.SetSearchProperties(shownProperties); break; case FullTextSearchTargetPropertiesMode.IncludedColumns: { var properties = criteriaBuilder.IncludedColumns.Select(pair => pair.Value.Name).ToArray(); criteriaBuilder.SetSearchProperties(properties); break; } default: throw new ArgumentException(fullTextSearchTargetPropertiesMode.ToString(), "criteriaBuilder"); } return(criteriaBuilder.SearchProperties); }
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; case FullTextSearchTargetPropertiesMode.IncludedColumns: { var properties = criteriaBuilder.IncludedColumns.Select(pair => pair.Value.Name).ToArray(); criteriaBuilder.SetSearchProperties(properties); break; } default: throw new ArgumentException(fullTextSearchTargetPropertiesMode.ToString(), "criteriaBuilder"); } return criteriaBuilder.SearchProperties; }