Esempio n. 1
0
        public async Task <ActionResult <bool> > Delete(int id)
        {
            var spec   = new ReportWithPublisherSpecification(id);
            var report = await _unitOfWork.Repository <Report>().GetEntityWithSpec(spec);

            _unitOfWork.Repository <Report>().Delete(report);
            var result = await _unitOfWork.Complete();

            return(result <= 0);
        }
Esempio n. 2
0
        public async Task <ActionResult <ReportToReturnDto> > Get(int id)
        {
            var spec   = new ReportWithPublisherSpecification(id);
            var report = await _unitOfWork.Repository <Report>().GetEntityWithSpec(spec);

            if (report == null)
            {
                return(NotFound(new ApiResponse(404)));
            }

            return(_mapper.Map <Report, ReportToReturnDto>(report));
        }
Esempio n. 3
0
        public async Task <ActionResult <Pagination <ReportToReturnDto> > > Get([FromQuery] ReportSpecParams specParams)
        {
            var spec = new ReportWithPublisherSpecification(specParams);

            var reports = await _unitOfWork.Repository <Report>().ListAsync(spec);

            var totalItems = await _unitOfWork.Repository <Report>().CountAsync(spec);

            var data = _mapper.Map <IReadOnlyList <Report>, IReadOnlyList <ReportToReturnDto> >(reports);

            return(Ok(new Pagination <ReportToReturnDto>(specParams.PageSize,
                                                         specParams.PageSize, totalItems, data)));
        }
Esempio n. 4
0
        public async Task <ActionResult <Report> > Put(int reportId, [FromBody] Report newReport)
        {
            var spec   = new ReportWithPublisherSpecification(reportId);
            var report = await _unitOfWork.Repository <Report>().GetEntityWithSpec(spec);

            if (report != null)
            {
                report = newReport;
            }

            _unitOfWork.Repository <Report>().Update(report);
            var result = await _unitOfWork.Complete();

            return(result <= 0 ? null : report);
        }