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; }
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); }