public async Task <IActionResult> Details(string id) { var c = await persons.GetObject(id); //await medicineEffectsRepository.LoadEffects(c); return(View(PersonViewModelFactory.Create(c))); }
public async Task <IActionResult> Edit([Bind(patientInfoProperties)] PersonInfoViewModel c) { var currentDate = DateTime.Now; if (!ModelState.IsValid) { return(View(c)); } var personMed = await personMedicines.GetObject(c.MedicineID, c.ID); var perObj = await persons.GetObject(c.ID); var dosObj = await dosages.GetObject(c.DosageID); dosObj.DbRecord.Description = c.Description; if (personMed.DbRecord.Suitability != c.Suitability) { await personMedicines.DeleteObject(personMed); var medObj = await medicines.GetObject(c.MedicineID); await personMedicines.AddObject(PersonMedicineObjectFactory.Create(perObj, medObj, c.Suitability, currentDate)); } //await dosages.UpdateObject(dosObj); return(RedirectToAction("PatientInfo", PersonViewModelFactory.Create(perObj))); }
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))); }
public IActionResult Create(string returnUrl) { if (String.IsNullOrEmpty(returnUrl)) { returnUrl = Request.Headers["Referer"].ToString(); } return(View("Edit", PersonViewModelFactory.Create(new PersonDto(), returnUrl, PersonTypes, Companies))); }
public async Task <IActionResult> Delete(int id) { var returnUrl = Request.Headers["Referer"].ToString(); var person = await _personRepo.GetPerson(id); PersonViewModel personVm = PersonViewModelFactory.Delete(person, returnUrl, PersonTypes, Companies); return(View("Edit", personVm)); }
public async Task <IActionResult> Edit(int id, string returnUrl = null) { if (String.IsNullOrEmpty(returnUrl)) { returnUrl = Request.Headers["Referer"].ToString(); } var person = await _personRepo.GetPerson(id); PersonViewModel personVm = PersonViewModelFactory.Edit(person, returnUrl, PersonTypes, Companies); return(View("Edit", personVm)); }
public void CreateNullTest() { var v = PersonViewModelFactory.Create(null); Assert.AreEqual(v.ID, Constants.Unspecified); Assert.AreEqual(v.IDCode, Constants.Unspecified); Assert.AreEqual(v.FirstName, Constants.Unspecified); Assert.AreEqual(v.LastName, Constants.Unspecified); Assert.AreEqual(v.Address, Constants.Unspecified); Assert.AreEqual(v.Email, Constants.Unspecified); Assert.AreEqual(v.PhoneNumber, Constants.Unspecified); Assert.AreEqual(v.GetMedicineInfo, GetMedicineInfo.Teadmata); Assert.AreEqual(v.ValidFrom, null); Assert.AreEqual(v.ValidTo, null); }
public async Task <IActionResult> Get(int id) { var person = await _personRepository.GetPersonWithSkills(id); if (person == null) { return(NotFound()); // This makes it return 404; otherwise it will return a 204 (no content) } var skills = new Collection <Skill>(); var skillViewModels = new Collection <SkillViewModel>(); var personViewModel = PersonViewModelFactory.Build(person); return(new ObjectResult(personViewModel)); }
public void CreateTest() { var o = GetRandom.Object <PersonObject>(); var v = PersonViewModelFactory.Create(o); Assert.AreEqual(v.ID, o.DbRecord.ID); Assert.AreEqual(v.IDCode, o.DbRecord.IDCode); Assert.AreEqual(v.FirstName, o.DbRecord.FirstName); Assert.AreEqual(v.LastName, o.DbRecord.LastName); Assert.AreEqual(v.Address, o.DbRecord.Address); Assert.AreEqual(v.Email, o.DbRecord.Email); Assert.AreEqual(v.PhoneNumber, o.DbRecord.PhoneNumber); Assert.AreEqual(v.GetMedicineInfo, o.DbRecord.GetMedicineInfo); Assert.AreEqual(v.ValidFrom, o.DbRecord.ValidFrom); Assert.AreEqual(v.ValidTo, o.DbRecord.ValidTo); }
public async Task <IActionResult> AddSkill(int git, [FromBody] PersonSkillViewModel personSkillViewModel) { if (personSkillViewModel == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var person = await _personRepository.GetPersonWithSkills(personSkillViewModel.PersonId); if (person == null) { return(NotFound()); } var skillToAdd = await _skillRepository.GetSingleAsync(personSkillViewModel.SkillId); var skillsMetadata = await _metadataRepository.Get(); var personSkill = new PersonSkill { Skill = skillToAdd, SkillLevel = skillsMetadata.SkillLevels.Where(x => x.Code == personSkillViewModel.SkillLevelCode).FirstOrDefault(), TimeUsed = skillsMetadata.TimePeriods.Where(x => x.Code == personSkillViewModel.TimeUsedCode).FirstOrDefault(), TimeSinceUsed = skillsMetadata.TimePeriods.Where(x => x.Code == personSkillViewModel.TimeLastUsedCode).FirstOrDefault() }; if (person.Skills == null) { person.Skills = new Collection <PersonSkill>(); } person.Skills.Add(personSkill); await _personRepository.SaveChangesAsync(); var personViewModel = PersonViewModelFactory.Build(person); return(CreatedAtAction(nameof(Get), new { id = personViewModel.LastName }, personViewModel)); }
public async Task <IActionResult> Edit([FromForm] PersonViewModel personVM) { if (ModelState.IsValid) { await _personRepo.UpdatePerson(personVM.Person); TempData["message"] = "Your data has been updated successfully."; TempData["toasterType"] = ToasterType.success; return(RedirectToAction(nameof(Edit), new { id = personVM.Person.Id, returnUrl = personVM.ReturnUrl })); } else { TempData["message"] = "A problem has been ocurred while updating your data."; TempData["toasterType"] = ToasterType.info; } return(View("Edit", PersonViewModelFactory.Edit(personVM.Person, personVM.ReturnUrl, PersonTypes, Companies))); }
public void setNullIfExtremumTest() { var o = GetRandom.Object <PersonObject>(); o.DbRecord.ValidFrom = DateTime.MinValue; o.DbRecord.ValidTo = DateTime.MaxValue; var v = PersonViewModelFactory.Create(o); Assert.AreEqual(v.ID, o.DbRecord.ID); Assert.AreEqual(v.IDCode, o.DbRecord.IDCode); Assert.AreEqual(v.FirstName, o.DbRecord.FirstName); Assert.AreEqual(v.LastName, o.DbRecord.LastName); Assert.AreEqual(v.Address, o.DbRecord.Address); Assert.AreEqual(v.Email, o.DbRecord.Email); Assert.AreEqual(v.PhoneNumber, o.DbRecord.PhoneNumber); Assert.AreEqual(v.GetMedicineInfo, o.DbRecord.GetMedicineInfo); Assert.AreEqual(v.ValidFrom, null); Assert.AreEqual(v.ValidTo, null); }
public async Task <IActionResult> PatientInfo(PersonViewModel model) { var idCode = model.IDCode; try { PersonObject persona; if (model.ID != Constants.Unspecified) { persona = await persons.GetObject(model.ID); } else { persona = await persons.GetPersonByIDCode(idCode); } await personMedicines.LoadMedicines(persona); var personView = PersonViewModelFactory.Create(persona); var personSuggestions = await dosages.GetAllDosages(persona.DbRecord.ID); foreach (var sug in personSuggestions) { var pm = await personMedicines.GetObject(sug.DbRecord.MedicineID, persona.DbRecord.ID); var med = await medicines.GetObject(sug.DbRecord.MedicineID); personView.SuggestionsMade.Add(PersonInfoViewModelFactory.Create(sug, pm, med)); } return(View("PatientInfo", personView)); } catch (Exception e) { ViewBag.Message = "Sellise id-koodiga inimene puudub!"; return(View("Index")); } }
public async Task <IActionResult> Create([FromForm] PersonViewModel personVm) { if (ModelState.IsValid) { personVm.PersonTypes = default; personVm.Companies = default; var newPerson = await _personRepo.AddPerson(personVm.Person); TempData["message"] = "Your data has been submitted successfully."; TempData["toasterType"] = ToasterType.success; //return RedirectToAction(nameof(Index)); return(RedirectToAction(nameof(Edit), new { id = newPerson.Id, returnUrl = personVm.ReturnUrl })); } TempData["message"] = "A problem has been ocurred while submitting your data."; TempData["toasterType"] = ToasterType.info; return(View("Edit", PersonViewModelFactory.Create(personVm.Person, personVm.ReturnUrl, PersonTypes, Companies))); }
public async Task <IActionResult> RemoveSkill(int personId, int personSkillId) { var person = await _personRepository.GetPersonWithSkills(personId); if (person == null) { return(NotFound()); } var skillToRemove = person.Skills.Where(x => x.Id == personSkillId).SingleOrDefault(); if (skillToRemove != null) { person.Skills.Remove(skillToRemove); _personSkillRepository.Delete(skillToRemove); await _personSkillRepository.SaveChangesAsync(); await _personRepository.SaveChangesAsync(); } var personViewModel = PersonViewModelFactory.Build(person); return(new ObjectResult(personViewModel)); }
public async Task <IActionResult> SendInfo(PersonInfoViewModel c) { await Task.Delay(500); var person = await persons.GetObject(c.ID); var informationPreference = person.DbRecord.GetMedicineInfo; var medicine = await medicines.GetObject(c.MedicineID); var dosage = await dosages.GetObject(c.DosageID); await schemes.LoadSchemes(dosage); var schems = dosage.SchemesInUse; var scheme = schems[0]; char[] males = new[] { '1', '3', '5', '7', '9' }; char[] females = new[] { '2', '4', '6', '8', '0' }; string sex; if (males.Contains(person.DbRecord.IDCode[0])) { sex = "härra"; } else { sex = "preili/proua"; } string link; if (medicine.DbRecord.Spc.Contains("http")) { link = medicine.DbRecord.Spc; } else { link = "http://ravimiregister.ravimiamet.ee/Data/SPC/" + medicine.DbRecord.Spc; } string header = "Tervist lp " + sex + " " + person.DbRecord.LastName + "@" + "@"; string suggestion = "Siin on teile kirjutatud soovitus Dr. Mardna poolt kuupäeval: " + c.ValidFrom + "@" + "Isikukood : " + person.DbRecord.IDCode + "@" + "Eesnimi : " + person.DbRecord.FirstName + "@" + "Perekonnanimi : " + person.DbRecord.LastName + "@" + "Ravimi nimi : " + medicine.DbRecord.Name + "@" + "Ravimi manustamise viis : " + medicine.DbRecord.FormOfInjection + "@" + "Ravimi tugevus : " + medicine.DbRecord.Strength; if (scheme.DbRecord.Length != Constants.Unspecified) { suggestion += "@" + "@" + "------ANNUSTAMINE------" + "@" + "Ravimi manustamise tüüp : " + dosage.DbRecord.TypeOfTreatment + "@" + "Ravikuuri pikkus : " + scheme.DbRecord.Length + "@" + "Ravimit manustada ühe korraga : " + scheme.DbRecord.Amount + "@" + "Ravimit manustada kordi päevas : " + scheme.DbRecord.Times + "@" + "Eelistatud manustamise aeg : " + scheme.DbRecord.TimeOfDay; } suggestion += "@" + "Lisainfot ravimi kohta ning annustamise info leiad: " + link + " (annustamine alates peatükk 4.2)"; string finalMessage = header + suggestion; finalMessage = finalMessage.Replace("@", System.Environment.NewLine); if (informationPreference == GetMedicineInfo.Email) { if (person.DbRecord.Email != null && person.DbRecord.Email.Contains('@')) { SendEmail(finalMessage, person); } } else if (informationPreference == GetMedicineInfo.SMS) { if (person.DbRecord.PhoneNumber != null) { //sendSms(finalmessage, person); } } return(RedirectToAction("PatientInfo", PersonViewModelFactory.Create(person))); }
public async Task <IActionResult> Delete(string id) { var c = await persons.GetObject(id); return(View(PersonViewModelFactory.Create(c))); }