public async Task <IActionResult> CreateReport(ReportForCreateDto report) { var reportToCreate = new Report { MeasureId = report.MeasureId, DateCreate = DateTime.UtcNow, Description = report.Description, Status = report.Status }; reportToCreate.Props.Add(new ReportProp { Action = "creation", AuthorId = report.AuthorId, DateCreate = DateTime.UtcNow, Report = reportToCreate }); _context.Add(reportToCreate); if (await _context.SaveChangesAsync() > 0) { var reportToReturn = _mapper.Map <ReportForListDto>(reportToCreate); return(Ok(reportToReturn)); } return(BadRequest("Failed to create new report")); }
public async Task <IActionResult> UpdateReport(int reportId, ReportForCreateDto report) { var dbReport = await _context.Reports .FirstOrDefaultAsync(m => m.Id == reportId); if (dbReport == null) { return(NotFound()); } dbReport.Description = report.Description; dbReport.Status = "check"; dbReport.Props.Add(new ReportProp { Action = "updating", AuthorId = report.AuthorId, DateCreate = DateTime.UtcNow, ReportId = dbReport.Id }); if (await _context.SaveChangesAsync() > 0) { var reportToReturn = _mapper.Map <ReportForListDto>(dbReport); return(Ok(reportToReturn)); } return(BadRequest("Failed to update report")); }
public async Task <IActionResult> SendReport(int id, ReportForCreateDto reportForCreateDto) { var user = await database.SupportRepository.Get <User>(id); var report = mapper.Map <Report>(reportForCreateDto); var reportMessage = mapper.Map <ReportMessage>(reportForCreateDto.ReportMessageForCreateDto); if (await supportSystem.SendReport(report, reportMessage, user)) { var reportToReturn = mapper.Map <ReportDetailsDto>(report); return(Ok(reportToReturn)); } return(BadRequest("Nie udało się wysłać zgłoszenia")); }