Пример #1
0
        public async Task <IActionResult> Edit(Int32?analysisId, Int32?patientId, AnalysisCreateAndEditModel model)
        {
            if (analysisId == null || patientId == null)
            {
                return(NotFound());
            }

            var analysis = await context.Analyses
                           .Include(w => w.Patient)
                           .SingleOrDefaultAsync(m => m.AnalysisId == analysisId && m.PatientId == patientId);

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

            this.ViewData["LabId"] = new SelectList(this.context.Labs, "Id", "Name");
            this.ViewBag.Analysis  = analysis;

            if (this.ModelState.IsValid)
            {
                analysis.Type   = model.Type;
                analysis.Date   = model.Date;
                analysis.Status = model.Status;
                analysis.LabId  = model.LabId;

                await this.context.SaveChangesAsync();

                return(this.RedirectToAction("Index", new { patientId = analysis.PatientId }));
            }

            return(this.View(model));
        }
Пример #2
0
        // GET: Analyses/Edit/5
        public async Task <IActionResult> Edit(Int32?analysisId, Int32?patientId)
        {
            if (analysisId == null || patientId == null)
            {
                return(NotFound());
            }

            var analysis = await context.Analyses
                           .Include(w => w.Patient)
                           .SingleOrDefaultAsync(m => m.AnalysisId == analysisId && m.PatientId == patientId);

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

            this.ViewData["LabId"] = new SelectList(this.context.Labs, "Id", "Name");
            this.ViewBag.Analysis  = analysis;

            var model = new AnalysisCreateAndEditModel
            {
                Type   = analysis.Type,
                Date   = analysis.Date,
                Status = analysis.Status,
                LabId  = analysis.LabId == null ? -1 : (int)analysis.LabId
            };

            return(this.View(model));
        }
Пример #3
0
        public async Task <IActionResult> Create(Int32?patientId, AnalysisCreateAndEditModel model)
        {
            if (patientId == null)
            {
                return(this.NotFound());
            }

            var patient = await this.context.Patients
                          .SingleOrDefaultAsync(x => x.Id == patientId);

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

            var lab = await this.context.Labs
                      .SingleOrDefaultAsync(x => x.Id == model.LabId);

            var analyses = await context.Analyses.ToListAsync();

            var count = analyses.Count();

            if (this.ModelState.IsValid)
            {
                var newLab = new Lab();
                newLab = lab;

                var analysis = new Analysis
                {
                    AnalysisId = ++count,
                    PatientId  = patient.Id,
                    Patient    = patient,
                    LabId      = model.LabId,
                    Lab        = newLab,
                    Type       = model.Type,
                    Date       = model.Date,
                    Status     = model.Status
                };

                this.context.Add(analysis);
                await this.context.SaveChangesAsync();

                return(this.RedirectToAction("Index", new { patientId = patient.Id }));
            }

            this.ViewBag.Patient   = patient;
            this.ViewData["LabId"] = new SelectList(this.context.Labs, "Id", "Name");
            //TODO: fix
            return(this.View(model));
        }