public async void PostProgressReport_PostsProgressReport()
        {
            using (var context = new RCCSContext(_contextOptions))
            {
                //Arrange
                var createProgressReportController = new CreateProgressReportController(context);
                var createProgressViewModel        = new CreateProgressReportViewModel
                {
                    CPR    = 2905891233,
                    Title  = "Progressreport title",
                    Report = "Test report",
                    ResponsibleCaretaker = "Me"
                };

                //Act
                var progressReportViewModel = await createProgressReportController.PostProgressReport(createProgressViewModel);

                //Assert
                Assert.NotNull(progressReportViewModel);
                var actionResult          = Assert.IsType <ActionResult <ProgressReport> >(progressReportViewModel);
                var createdAtActionResult = Assert.IsType <CreatedAtActionResult>(actionResult.Result);
                Assert.Equal("PostProgressReport", createdAtActionResult.ActionName);
                var progressReportCreated = Assert.IsType <ProgressReport>(createdAtActionResult.Value);

                Assert.True(createProgressViewModel.CPR.Equals(progressReportCreated.CitizenCPR));
                Assert.True(createProgressViewModel.Title.Equals(progressReportCreated.Title));
                Assert.True(createProgressViewModel.Report.Equals(progressReportCreated.Report));
                Assert.True(createProgressViewModel.ResponsibleCaretaker.Equals(progressReportCreated.ResponsibleCaretaker));
            }
        }
        public async Task <ActionResult <ProgressReport> > PostProgressReport(CreateProgressReportViewModel cprvm)
        {
            ProgressReport progressReport = new ProgressReport
            {
                Date   = DateTime.Now,
                Title  = cprvm.Title,
                Report = cprvm.Report,
                ResponsibleCaretaker = cprvm.ResponsibleCaretaker,
                CitizenCPR           = cprvm.CPR
            };

            var citizen =
                await _context.Citizens
                .Include(c => c.CitizenOverview)
                .FirstOrDefaultAsync(c => c.CPR == cprvm.CPR);

            citizen.CitizenOverview.NumberOfReevaluations = citizen.CitizenOverview.NumberOfReevaluations + 1;

            _context.Entry(citizen).State = EntityState.Modified;


            await _context.ProgressReports.AddAsync(progressReport);

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException e)
            {
                if (ProgressReportExists(progressReport.Id))
                {
                    return(Conflict());
                }
                else
                {
                    Console.WriteLine(e);
                    throw;
                }
            }

            return(CreatedAtAction("PostProgressReport", new { id = progressReport.Date }, progressReport));
        }