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); }
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)); }
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))); }
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); }