Esempio n. 1
0
        public async Task <ActionResult <JobToReturnDto> > GetJob(int id)
        {
            var spec = new JobsWithCategoryStateLocationsProductsSpecification(id);
            var job  = await _jobsRepo.GetEntityWithSpec(spec);

            if (job == null)
            {
                var notFoundCode = (int)HttpStatusCode.NotFound;
                var apiResponse  = new ApiResponse(notFoundCode);

                return(NotFound(apiResponse));
            }

            var dto = _mapper.Map <Job, JobToReturnDto>(job);

            return(Ok(dto));
        }
Esempio n. 2
0
        public async Task <ActionResult <Pagination <JobToReturnDto> > > GetJobs(
            [FromQuery] JobSpecParams jobParams)
        {
            var countSpec  = new JobWithFiltersForCountSpecification(jobParams);
            var totalItems = await _jobsRepo.Count(countSpec);

            var spec = new JobsWithCategoryStateLocationsProductsSpecification(jobParams);
            var jobs = await _jobsRepo.ListAsync(spec);

            var dtos       = _mapper.Map <IReadOnlyList <Job>, IReadOnlyList <JobToReturnDto> >(jobs);
            var pagination = new Pagination <JobToReturnDto>(
                jobParams.PageNumber,
                jobParams.PageSize,
                totalItems,
                dtos);

            return(Ok(pagination));
        }