public IEnumerable<Bottle> Run() { if (string.IsNullOrEmpty(_searchTerm)) return _source; var year = 0; int.TryParse(_searchTerm.ToLower(), out year); var matchesYear = _source .Where(x => x.Year == year); var wines = new SearchWine(_searchTerm.ToLower()).Run().ToList(); var fromWine = _source .Where(x => wines.Contains(x.Wine)); return matchesYear.Union(fromWine).Distinct(); }
public IEnumerable<WineDTO> Index(string searchTerm) { var result = new SearchWine(searchTerm).Run(); return result.Select(x => WineDTO.From(x)); }