public async Task <IActionResult> UploadFile(string reportId, string incidentId, IFormFile file)
        {
            if (!Directory.Exists(_uploadsPath))
            {
                Directory.CreateDirectory(_uploadsPath);
            }
            var report   = _storageFacade.GetReport(reportId);
            var incident = report?.Incidents.FirstOrDefault(i => i.Id == incidentId);

            if (incident == null)
            {
                return(NotFound("There is no such report or incident."));
            }
            if (file == null)
            {
                return(NotFound("File can't be null"));
            }

            var list     = new List <string>(incident.Attachments);
            var fileName = Guid.NewGuid() + Path.GetExtension(file.FileName);
            var fullPath = Path.Combine(_uploadsPath, fileName);

            using (var fileStream = new FileStream(fullPath, FileMode.Create))
            {
                await file.CopyToAsync(fileStream);
            }
            list.Add(fileName);
            incident.Attachments = list.ToArray();
            _storageFacade.UpdateReport(report);

            byte[] fileBytes = System.IO.File.ReadAllBytes(fullPath);
            return(Ok("data:image/png;base64," + Convert.ToBase64String(fileBytes)));
        }
 public IActionResult GetReport(string id)
 {
     Debug.WriteLine($"GetReport with id {id}");
     return(Ok(_storageFacade.GetReport(id)));
 }