Пример #1
0
        public ViewResult List(RidesGridDTO dto)
        {
            RidesGridBuilder builder = new RidesGridBuilder(dto);

            RideQueryOptions options = new RideQueryOptions()
            {
                Includes         = "Motive, Car, Driver",
                PageNumber       = builder.Route.PageNumber,
                PageSize         = builder.Route.PageSize,
                OrderBy          = ride => ride.Date,
                OrderByDirection = "desc"
            };

            options.Filter(builder);


            IEnumerable <Ride> rides = _data.Rides.List(options);

            _helper.PopulateInitialMileage(rides);

            RideListViewModel model = new RideListViewModel
            {
                Rides         = rides,
                Cars          = _data.Cars.List(),
                Drivers       = _data.Drivers.List(),
                Motives       = _data.Motives.List(),
                TotalDistance = GetTotalDistance(builder),
                TotalCost     = GetTotalCost(builder),
                CurrentRoute  = builder.Route,
                TotalPages    = builder.GetTotalPages(_data.Rides.Count)
            };

            return(View(model));
        }
Пример #2
0
        public IActionResult Filter(FilterData filterData, bool clear = false)
        {
            RidesGridDTO dto;

            if (clear)
            {
                dto = new RidesGridDTO();
            }
            else
            {
                dto = new RidesGridDTO(filterData);
            }
            RidesGridBuilder gridBuiler = new RidesGridBuilder(dto);

            return(RedirectToAction("List", gridBuiler.Route));
        }