protected override ICommandResult ExecuteAction(ShowLatestCarModel item) { List <Car> list; var paging = new Pagination(); paging.PageNumber = 0; paging.PageSize = item.Count; var date = new DateOrderBy(OrderByEnum.Descending); var order = new List <IEntityOrderBy <Car> >(); var includes = new List <CarIncludes>() { CarIncludes.Colour, CarIncludes.Extras, CarIncludes.FuelType, CarIncludes.GearboxType, CarIncludes.CarMake, CarIncludes.CarModel }; order.Add(date); list = this.service.GetAll(null, order, paging, includes); var cars = list.Select(c => this.mapping.Map <AdvancedSearchReturnModel>(c)).ToList(); return(this.Success(cars)); }
private List <IEntityOrderBy <Car> > CreateOrderBy(AdvancedSearchCarModel item) { var order = new List <IEntityOrderBy <Car> >(); if (item.OrderBy == CarOrderByEnum.FirstRegistration) { var registration = new CarRegistrationOrderBy(); order.Add(registration); } if (item.OrderBy == CarOrderByEnum.Kilometers) { var kilometers = new CarKilometersOrderBy(); order.Add(kilometers); } if (item.OrderBy == CarOrderByEnum.Latest) { var latest = new DateOrderBy(); order.Add(latest); } if (item.OrderBy == CarOrderByEnum.Price) { var latest = new CarPriceOrderBy(); order.Add(latest); } if (item.OrderBy == CarOrderByEnum.MakeModelPrice) { var latest = new CarMakeModelPriceOrderBy(); order.Add(latest); } if (item.OrderBy == CarOrderByEnum.Last2Days) { var latest = new DateOrderBy(); order.Add(latest); } return(order); }