Example #1
0
        public async Task <IActionResult> CreateAsync([FromBody] InReportDTO reportDTO)
        {
            var report = ReportMapper.Map(reportDTO);

            report = _repositoryManager.ReportRepository.Create(report);

            await _repositoryManager.SaveAsync();

            return(Ok(ReportMapper.Map(report)));
        }
Example #2
0
 public static void Update(this Report report, InReportDTO reportDTO)
 {
     report.UserId  = report.UserId;
     report.CarId   = reportDTO.CarId;
     report.Created = DateTimeOffset
                      .FromUnixTimeSeconds(reportDTO.Created).UtcDateTime;
     report.Comment     = reportDTO.Comment;
     report.ReportItems = reportDTO.ReportItems
                          .Select(reportReportItem => new ReportItem()
     {
         ToolId     = reportReportItem.ToolId,
         MaterialId = reportReportItem.MaterialId,
         Amount     = reportReportItem.Amount,
         Comment    = reportReportItem.Comment
     }).ToList();
 }
Example #3
0
 public static Report Map(InReportDTO reportDTO)
 {
     return(new Report
     {
         UserId = reportDTO.UserId,
         CarId = reportDTO.CarId,
         Created = DateTimeOffset.FromUnixTimeSeconds(reportDTO.Created).UtcDateTime,
         Comment = reportDTO.Comment,
         ReportItems = reportDTO.ReportItems.Select(reportItem => new ReportItem
         {
             ToolId = reportItem.ToolId,
             MaterialId = reportItem.MaterialId,
             Amount = reportItem.Amount,
             Comment = reportItem.Comment
         }).ToList()
     });
 }
Example #4
0
        public async Task <IActionResult> UpdateAsync([FromRoute] int id, [FromBody] InReportDTO reportDTO)
        {
            var report = await _repositoryManager.ReportRepository.GetAsync(id);

            if (report == null)
            {
                return(NotFound());
            }

            if (report.Locked)
            {
                return(Forbid());
            }

            report.Update(reportDTO);

            await _repositoryManager.SaveAsync();

            report = await _repositoryManager.ReportRepository.GetAsync(id);

            return(Ok(ReportMapper.CompleteMap(report)));
        }