private List <IEntitySearch <Car> > CreateSearch(ShortSearchCarModel item)
        {
            var entitySearches = new List <IEntitySearch <Car> >();

            if (item.CarEngine.HasValue)
            {
                entitySearches.Add(new CarEngineSearch(item.CarEngine.Value));
            }
            if (item.CarGearbox.HasValue)
            {
                entitySearches.Add(new CarGearboxIDSearch(item.CarGearbox.Value));
            }
            if (item.CarMakeID.HasValue)
            {
                entitySearches.Add(new CarMakeIDSearch(item.CarMakeID.Value));
            }
            if (item.CarModelID.HasValue)
            {
                entitySearches.Add(new CarModelIDSearch(item.CarModelID.Value));
            }
            if (item.CarPrice.HasValue)
            {
                entitySearches.Add(new CarPriceSearch(item.CarPrice.Value, SearchEnum.LessThan));
            }
            if (item.CarYear.HasValue)
            {
                entitySearches.Add(new CarYearSearch(item.CarYear.Value, SearchEnum.GreaterThan));
            }

            if (item.IsForParts.HasValue || item.IsUsed.HasValue)
            {
                var condition = new CarContitionModel();
                condition.IsForParts = item.IsForParts;
                condition.IsUsed     = item.IsUsed;

                entitySearches.Add(new CarConditionSearch(condition));
            }

            return(entitySearches);
        }
        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);
        }
示例#3
0
 public CarConditionSearch(CarContitionModel value)
     : this(value, SearchEnum.Equals)
 {
 }
示例#4
0
 public CarConditionSearch(CarContitionModel value, SearchEnum searchType)
 {
     this.Value      = value;
     this.SearchType = searchType;
 }