Пример #1
0
        protected List <SearchResultExtendedContract> SearchByCriteriaText(CriteriaKey key, string text, int start, int count, short sortingEnum,
                                                                           bool sortAsc, IList <long> selectedBookIds, IList <int> selectedCategoryIds, SearchAdvancedParametersContract parameters = null)
        {
            var listSearchCriteriaContracts = CreateTextCriteriaList(key, text);

            return(SearchByCriteria(listSearchCriteriaContracts, start, count, sortingEnum, sortAsc, selectedBookIds, selectedCategoryIds, parameters));
        }
Пример #2
0
        /// <summary>
        /// Get ordered selection criteria.
        /// </summary>
        public List <List <SelectionCriteria> > GetSelectionCriteria(RestoreTargetGraph graph, NuGetFramework framework)
        {
            // Criteria are unique on graph and framework override.
            var key = new CriteriaKey(graph.TargetGraphName, framework);

            if (!_criteriaSets.TryGetValue(key, out var criteria))
            {
                criteria = LockFileUtils.CreateOrderedCriteriaSets(graph, framework);
                _criteriaSets.Add(key, criteria);
            }

            return(criteria);
        }
Пример #3
0
 private WordListCriteriaContract CreateWordListContract(CriteriaKey criteriaKey, string text)
 {
     return(new WordListCriteriaContract
     {
         Key = criteriaKey,
         Disjunctions = new List <WordCriteriaContract>
         {
             new WordCriteriaContract {
                 Contains = new List <string> {
                     text
                 }
             }
         }
     });
 }
Пример #4
0
 private List <SearchCriteriaContract> CreateQueryCriteriaContract(CriteriaKey criteriaKey, string query)
 {
     return(new List <SearchCriteriaContract>
     {
         new WordListCriteriaContract
         {
             Key = criteriaKey,
             Disjunctions = new List <WordCriteriaContract>
             {
                 new WordCriteriaContract
                 {
                     Contains = new List <string> {
                         query
                     }
                 }
             }
         }
     });
 }
Пример #5
0
        private Type GetCriteriaType(CriteriaKey criteriaKey)
        {
            switch (criteriaKey)
            {
            case CriteriaKey.Author:
            case CriteriaKey.Title:
            case CriteriaKey.Editor:
            case CriteriaKey.Fulltext:
            case CriteriaKey.Heading:
            case CriteriaKey.Sentence:
            case CriteriaKey.Headword:
            case CriteriaKey.HeadwordDescription:
            case CriteriaKey.Term:
                return(typeof(WordListCriteriaContract));

            case CriteriaKey.Dating:
                return(typeof(DatingListCriteriaContract));

            case CriteriaKey.Result:
                return(typeof(ResultCriteriaContract));

            case CriteriaKey.ResultRestriction:
                return(typeof(ResultRestrictionCriteriaContract));

            case CriteriaKey.SnapshotResultRestriction:
                return(typeof(SnapshotResultRestrictionCriteriaContract));

            case CriteriaKey.TokenDistance:
            case CriteriaKey.HeadwordDescriptionTokenDistance:
                return(typeof(TokenDistanceListCriteriaContract));

            case CriteriaKey.SelectedCategory:
                return(typeof(SelectedCategoryCriteriaContract));

            case CriteriaKey.Authorization:
                return(typeof(AuthorizationCriteriaContract));

            default:
                throw new ArgumentOutOfRangeException(nameof(criteriaKey), criteriaKey, null);
            }
        }
Пример #6
0
        protected List <SearchCriteriaContract> CreateTextCriteriaList(CriteriaKey key, string text)
        {
            var listSearchCriteriaContracts = new List <SearchCriteriaContract>();

            if (!string.IsNullOrEmpty(text))
            {
                var wordListCriteria = new WordListCriteriaContract
                {
                    Key          = key,
                    Disjunctions = new List <WordCriteriaContract>
                    {
                        new WordCriteriaContract
                        {
                            Contains = new List <string> {
                                text
                            }
                        }
                    }
                };
                listSearchCriteriaContracts.Add(wordListCriteria);
            }

            return(listSearchCriteriaContracts);
        }
Пример #7
0
        protected long SearchByCriteriaTextCount(CriteriaKey key, string text, IList <long> selectedBookIds, IList <int> selectedCategoryIds, SearchAdvancedParametersContract parameters = null)
        {
            var listSearchCriteriaContracts = CreateTextCriteriaList(key, text);

            return(SearchByCriteriaCount(listSearchCriteriaContracts, selectedBookIds, selectedCategoryIds, parameters));
        }