private List <IEntitySearch <Car> > CreateSearch(AdvancedSearchCarModel item) { var entitySearches = new List <IEntitySearch <Car> >(); if (item.CarGearboxID.HasValue) { entitySearches.Add(new CarGearboxIDSearch(item.CarGearboxID.Value)); } if (item.CarMakeIds != null) { entitySearches.Add(new CarMakeIDSearch(item.CarMakeIds)); } if (item.CarModelIds != null) { entitySearches.Add(new CarModelIDSearch(item.CarModelIds)); } if (item.FromCarPrice.HasValue) { entitySearches.Add(new CarPriceSearch(item.FromCarPrice.Value, SearchEnum.GreaterThan)); } if (item.ToCarPrice.HasValue) { entitySearches.Add(new CarPriceSearch(item.ToCarPrice.Value, SearchEnum.LessThan)); } if (item.FromCarYear.HasValue) { entitySearches.Add(new CarYearSearch(item.FromCarYear.Value, SearchEnum.GreaterThan)); } if (item.ToCarYear.HasValue) { entitySearches.Add(new CarYearSearch(item.ToCarYear.Value, SearchEnum.LessThan)); } if (item.FromHorsePower.HasValue) { entitySearches.Add(new CarHorsePowerSearch(item.FromHorsePower.Value, SearchEnum.GreaterThan)); } if (item.ToHorsePower.HasValue) { entitySearches.Add(new CarHorsePowerSearch(item.ToHorsePower.Value, SearchEnum.LessThan)); } if (item.Kilometers.HasValue) { entitySearches.Add(new CarKilometersSearch(item.Kilometers.Value, SearchEnum.LessThan)); } if (item.ColourID.HasValue) { entitySearches.Add(new CarColourSearch(item.ColourID.Value)); } if (item.IsForParts.HasValue || item.IsUsed.HasValue) { var condition = new CarContitionModel(); condition.IsForParts = item.IsForParts; condition.IsUsed = item.IsUsed; entitySearches.Add(new CarConditionSearch(condition)); } if (item.ExcludedExtraIds != null) { entitySearches.Add(new CarExtrasSearch(item.ExcludedExtraIds, SearchEnum.NotEquals)); } if (item.IncludedExtraIds != null) { entitySearches.Add(new CarExtrasSearch(item.IncludedExtraIds)); } if (item.OrderBy == CarOrderByEnum.Last2Days) { var latest = new CarDateCreatedSearch(DateTime.Now.AddDays(-2), SearchEnum.GreaterOrEquals); entitySearches.Add(latest); } return(entitySearches); }
public CarDateCreatedWhere(CarDateCreatedSearch search) { this.search = search; }