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));
        }
Exemplo n.º 2
0
        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);
            }
        }