public async Task <IActionResult> GetVehicleTypesAsync([FromQuery] VehicleTypeParametersDto vehicleTypeParameters) { var vehicleTypesFromRepo = await _vehicleTypeRepo.GetVehicleTypesAsync(vehicleTypeParameters); var paginationMetadata = new { totalCount = vehicleTypesFromRepo.MetaData.TotalCount, pageSize = vehicleTypesFromRepo.MetaData.PageSize, currentPageSize = vehicleTypesFromRepo.MetaData.CurrentPageSize, currentStartIndex = vehicleTypesFromRepo.MetaData.CurrentStartIndex, currentEndIndex = vehicleTypesFromRepo.MetaData.CurrentEndIndex, pageNumber = vehicleTypesFromRepo.MetaData.PageNumber, totalPages = vehicleTypesFromRepo.MetaData.TotalPages, hasPrevious = vehicleTypesFromRepo.MetaData.HasPrevious, hasNext = vehicleTypesFromRepo.MetaData.HasNext }; Response.Headers.Add("X-Pagination", JsonSerializer.Serialize(paginationMetadata)); var vehicleTypesDto = _mapper.Map <IEnumerable <VehicleTypeDto> >(vehicleTypesFromRepo); var response = new Response <IEnumerable <VehicleTypeDto> >(vehicleTypesDto); return(Ok(response)); }
public async Task <IActionResult> Index(int page = 1, int pageSize = 10, String filters = "", String sortOrder = "") { ViewBag.pageSize = pageSize; ViewBag.filter = filters; ViewData["IdSortParm"] = sortOrder == "Id" ? "-Id" : "Id"; ViewData["NameSortParm"] = sortOrder == "Name" ? "-Name" : "Name"; VehicleTypeParametersDto vehicleTypeParameters = new VehicleTypeParametersDto() { PageNumber = page, PageSize = pageSize, SortOrder = sortOrder, Filters = filters }; var pagingResponse = await _vehicleTypeRepo.GetVehicleTypesAsync(vehicleTypeParameters); return(View(pagingResponse)); }