public async Task <IActionResult> Edit(Int32?patientId, Int32?analysisId, AnalysesCreateEditViewModel model)
        {
            if (patientId == null || analysisId == null)
            {
                return(NotFound());
            }

            var analysis = await _context.Analyses.SingleOrDefaultAsync(m => m.PatientId == patientId && m.AnalysisId == analysisId);

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

            if (ModelState.IsValid)
            {
                analysis.Status = model.Status;
                analysis.Type   = model.Type;
                analysis.Date   = model.Date;
                analysis.LabId  = model.LabId;
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index", new { patientId = patientId }));
            }
            return(View(model));
        }
        public async Task <IActionResult> Create(Int32?patientId, AnalysesCreateEditViewModel model)
        {
            if (patientId == null)
            {
                return(this.NotFound());
            }
            var patient = await this._context.Patients
                          .SingleOrDefaultAsync(x => x.Id == patientId);

            if (patient == null)
            {
                return(this.NotFound());
            }


            if (ModelState.IsValid)
            {
                var analysisId = this._context.Analyses.Any() ? this._context.Analyses.Max(x => x.AnalysisId) + 1 : 1;
                var analysis   = new Analysis
                {
                    PatientId  = patient.Id,
                    AnalysisId = analysisId,
                    LabId      = model.LabId,
                    Date       = model.Date,
                    Status     = model.Status,
                    Type       = model.Type
                };
                _context.Add(analysis);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index", new { patientId = patientId }));
            }

            this.ViewBag.Patient = patient;
            return(View(model));
        }