Пример #1
0
        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);
        }