public async Task <IActionResult> Get([FromQuery] EmployeeHistoryResourceParameters parameters)
        {
            var data = await _repository.ListEmployeeArrivalsHistoryAsync(parameters);

            var metaDataPagination = new
            {
                totalCount  = data.TotalCount,
                pageSize    = data.PageSize,
                totalPages  = data.TotalPages,
                currentPage = data.CurrentPage
            };

            //Response.Headers.Add("Access-Control-Allow-Origin", "*");
            //Response.Headers.Add("Access-Control-Allow-Methods", "POST, GET");
            Response.Headers.Add("Custom-Header", "X-Pagination");
            //Response.Headers.Add("Access-Control-Expose-Headers", "X-Pagination");
            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metaDataPagination));

            var resultData = _mapper.Map <IEnumerable <EmployeeHistoryResponseModel> >(data);

            return(Ok(resultData));
        }
Esempio n. 2
0
        public async Task <PagedList <EmployeeArrival> > ListEmployeeArrivalsHistoryAsync(EmployeeHistoryResourceParameters resourceParameters)
        {
            var collection = _context.EmployeeArrival.AsQueryable();

            if (!string.IsNullOrWhiteSpace(resourceParameters.FirstName))
            {
                collection = _context.EmployeeArrival
                             .Where(ea => ea.Employee.FirstName.Equals(resourceParameters.FirstName));
            }

            if (!string.IsNullOrWhiteSpace(resourceParameters.Surname))
            {
                collection = _context.EmployeeArrival
                             .Where(ea => ea.Employee.Surname.Equals(resourceParameters.Surname));
            }

            collection = collection.Include(ea => ea.Employee);

            return(await PagedList <EmployeeArrival> .CreateAsync(collection, resourceParameters.Page, resourceParameters.PageSize));
        }