public ActionResult Used(VehicleSearchDto searchCriteria) { var vehicleType = VehicleTypes.Used; IEnumerable <Vehicle> result = searchHelper.Search(searchCriteria, vehicleType); return(View("SearchResults", result)); }
public IEnumerable <Vehicle> Search(VehicleSearchDto searchCriteria, VehicleTypes vehicleType) { var maxPrice = searchCriteria.MaxPrice != 0 ? searchCriteria.MaxPrice : int.MaxValue; var minPrice = searchCriteria.MinPrice != 0 ? searchCriteria.MinPrice : 0; var maxYear = searchCriteria.MaxYear != 0 ? searchCriteria.MaxYear : int.MaxValue; var minYear = searchCriteria.MinYear != 0 ? searchCriteria.MinYear : 0; var result = vehicleRepository.GetAll().Where(p => p.Type == vehicleType).Where(p => p.ModelYear.ToString() == searchCriteria.SearchTerm || IsMakeMatch(p, searchCriteria.SearchTerm) || IsModelMatch(p, searchCriteria.SearchTerm) || IsModelYearMatch(p, searchCriteria.SearchTerm)).Where(p => IsInPriceRange(p, minPrice, maxPrice)).Where(p => IsInModelYearRange(p, minYear, maxYear)); //|| p.Model.ToLower() == searchCriteria.SearchTerm.ToLower()); var take = Math.Min(result.Count(), 20); result = result.Take(take); return(result); }
public ActionResult Search(VehicleSearchDto searchCriteria) { var result = vehicleRepo.GetAll().Where(p => p.ModelYear.ToString() == searchCriteria.SearchTerm || IsMakeMatch(p, searchCriteria.SearchTerm) || IsModelMatch(p, searchCriteria.SearchTerm) || IsModelYearMatch(p, searchCriteria.SearchTerm)); //|| p.Model.ToLower() == searchCriteria.SearchTerm.ToLower()); if (searchCriteria.MaxPrice != 0) { result = result.Where(p => (p.SalePrice <searchCriteria.MaxPrice && p.SalePrice> searchCriteria.MinPrice)); } if (searchCriteria.MaxYear != 0) { result = result.Where(p => p.ModelYear <searchCriteria.MaxYear && p.ModelYear> searchCriteria.MinYear); } return(View(result)); }