Exemplo n.º 1
0
        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"));
        }
Exemplo n.º 2
0
        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"));
        }
Exemplo n.º 3
0
        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"));
        }