public IActionResult PageSize(int pagesize) { var builder = new VacationGridBuilder(this.httpCtxAccessor.HttpContext.Session); builder.CurrentRoute.PageSize = pagesize; builder.SaveRouteSegments(); return(RedirectToAction("List", builder.CurrentRoute)); }
/// <summary> /// The List view action handling filtering/sorting for the list. /// </summary> /// <param name="values">The values.</param> /// <returns>The List view</returns> public IActionResult List(GridDTO values) { var builder = new VacationGridBuilder(this.httpCtxAccessor.HttpContext.Session, values, nameof(Vacation.Location.Name)); var options = new VacationQueryOptions() { Includes = "Location, Activities.Activity, Accommodation", OrderByDirection = builder.CurrentRoute.SortDirection, PageNumber = builder.CurrentRoute.PageNumber, PageSize = builder.CurrentRoute.PageSize }; options.Sort(builder); var vacationViewModel = new VacationListViewModel() { Vacations = data.Vacations.List(options), CurrentRoute = builder.CurrentRoute, TotalPages = builder.GetTotalPages(data.Vacations.Count) }; return(View(vacationViewModel)); }