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)); }
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)); }