コード例 #1
0
        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);
        }
コード例 #2
0
 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;
 }