コード例 #1
0
        private void RefreshWordListDataBinding()
        {
            SearchMode       searchMode = _view.SearchType;
            SearchStartPoint startPoint = _view.SearchFromStart ? SearchStartPoint.BeginningOfWord : SearchStartPoint.MiddleOfWord;;

            string searchString = _view.SearchText;

            if (searchMode == SearchMode.ByEntry)
            {
                _view.Datasource = ((LexiconService <LexiconRaw>)(_svc)).SearchByEntry(searchString, startPoint);
            }
            else if (searchMode == SearchMode.ByMeaning)
            {
                _view.Datasource = ((LexiconService <LexiconRaw>)(_svc)).SearchByMeaning(searchString, startPoint);
            }

            searchMode = SearchMode.None;
        }
コード例 #2
0
        public object SearchByMeaning(string searchString, SearchStartPoint searchStartPoint)
        {
            var list = new List <ILexiconSummary>();

            if (searchStartPoint == SearchStartPoint.BeginningOfWord)
            {
                list = (GetSortedItems() as IList <ILexiconSummary>)
                       .Where(c => !string.IsNullOrWhiteSpace(c.Entry) &&
                              c.Meaning
                              .ToLower()
                              .StartsWith(searchString.ToLower())
                              ).ToList();
            }
            else
            {
                list = (GetSortedItems() as IList <ILexiconSummary>)
                       .Where(c => !string.IsNullOrWhiteSpace(c.Entry) &&
                              c.Meaning
                              .ToLower()
                              .Contains(searchString.ToLower())
                              ).ToList();
            }
            return(list);
        }