public async Task <ActionResult <PaginatedResultDTO <JobApplicationDTO> > > GetJobApplicationsForCompany([FromRoute] Guid companyId, [FromQuery] PaginationDTO paginationDTO)
        {
            try
            {
                var applications = _repository.GetJobApplicationsForCompany(companyId).OrderByDescending(j => j.ApplicationDate);

                var results = await _mapper.ProjectTo <JobApplicationDTO>(applications.Paginate(paginationDTO)).ToListAsync();

                var response = new PaginatedResultDTO <JobApplicationDTO>
                {
                    Results        = results,
                    CurrentPage    = paginationDTO.Page,
                    RecordsPerPage = paginationDTO.RecordsPerPage,
                    TotalRecords   = await applications.CountAsync()
                };

                response.TotalPages = (int)Math.Ceiling((decimal)response.TotalRecords / (decimal)response.RecordsPerPage);

                return(Ok(response));
            }
            catch
            {
                // TODO: Log exception
                return(BadRequest());
            }
        }