public async Task <IActionResult> DosageSchemeMed([Bind(sugProperties)] SuggestionViewModel s, string personId, string button)
        {
            Suitability suitable;
            var         medicineId = s.ID;
            var         perObj     = await persons.GetObject(personId);

            if (button != "prior")
            {
                bool suitableMed = await CheckMedicineSuitability(personId, medicineId);

                if (!suitableMed)
                {
                    var messageContent = await FindConflict(personId, medicineId);

                    ViewBag.Dictionary = messageContent;
                    ModelState.AddModelError(string.Empty, "");
                    ViewBag.AfterError = true;
                    await SetPropertiesPerson(medicineId);

                    ViewBag.DefaultPerson = personId;
                }
            }
            if (!ModelState.IsValid)
            {
                return(View(s));
            }

            var      currentDate = DateTime.Now;
            DateTime?untilDate   = null;

            if (s.Length != null && s.Length != "")
            {
                untilDate = currentDate.AddDays(double.Parse(s.Length));
            }
            var dosageId = Guid.NewGuid().ToString();
            var schemeId = Guid.NewGuid().ToString();
            var medObj   = await medicines.GetObject(medicineId);

            var dosage = DosageObjectFactory.Create(dosageId, s.TypeOfTreatment, personId, medicineId, currentDate, untilDate);
            var scheme = SchemeObjectFactory.Create(schemeId, dosageId, "1", s.Length, s.Amount, s.Times, s.TimeOfDay, currentDate, untilDate);
            var o      = await personMedicines.GetObject(medicineId, personId);

            if (o.DbRecord.MedicineID == "Unspecified")
            {
                suitable = Suitability.Teadmata;
            }
            else
            {
                suitable = Suitability.Jah;
                await personMedicines.DeleteObject(o);
            }
            await personMedicines.AddObject(PersonMedicineObjectFactory.Create(perObj, medObj, suitable, currentDate));

            await dosages.AddObject(dosage);

            await schemes.AddObject(scheme);

            return(RedirectToAction("PatientInfo", PersonViewModelFactory.Create(perObj)));
        }
Exemplo n.º 2
0
        public void CreateTest()
        {
            var r = GetRandom.Object <SchemeDbRecord>();
            var o = SchemeObjectFactory.Create(r.ID, r.DosageId, r.QueueNr, r.Length, r.Amount, r.Times, r.TimeOfDay, r.ValidFrom, r.ValidTo);

            Assert.IsInstanceOfType(o, typeof(SchemeObject));
            testVariables(o.DbRecord, r.ID, r.DosageId, r.QueueNr, r.Length, r.Amount, r.Times, r.TimeOfDay,
                          r.ValidFrom, r.ValidTo);
        }