public async Task <IActionResult> GetPayHistories(int employeeID, [FromQuery] PayHistoryParameters payHistoryParameters) { var payHistories = await _repository.PayHistory.GetPayHistories(employeeID, payHistoryParameters); var metadata = new { payHistories.TotalCount, payHistories.PageSize, payHistories.CurrentPage, payHistories.TotalPages, payHistories.HasNext, payHistories.HasPrevious }; Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata)); return(Ok(payHistories)); }
public async Task <PagedList <EmployeePayHistory> > GetPayHistories(int employeeID, PayHistoryParameters payHistoryParameters) { if (await IsValidEmployeeID(employeeID)) { var pageList = await PagedList <EmployeePayHistory> .ToPagedList( FindByCondition(hist => hist.BusinessEntityID == employeeID) .OrderBy(ph => ph.RateChangeDate), payHistoryParameters.PageNumber, payHistoryParameters.PageSize); return(pageList); } else { var msg = $"Error: '{employeeID}' is not a valid employee ID."; RepoLogger.LogError(CLASSNAME + ".GetPayHistories " + msg); throw new AdventureWorksInvalidEntityIdException(msg); } }