public static ExaminationResultViewModel GetViewModel(ExaminationResult examResult, Func<DateTime, DateTime> toLocal) { return new ExaminationResultViewModel { Id = examResult.Id, PatientId = examResult.PatientId, Text = examResult.Text, MedicalProcedureCode = examResult.MedicalProcedureCode, MedicalProcedureName = examResult.MedicalProcedureName, ExaminationDate = toLocal(examResult.ExaminationDate), ReceiveDate = toLocal(examResult.ReceiveDate), }; }
public void Delete_WhenTheresAnExamResult() { PatientsController controller; int patientId; Patient patient; try { var doctor = Firestarter.Create_CrmMg_Psiquiatria_DrHouse_Andre(this.db); var mr = new MockRepository(true); controller = mr.CreateController<PatientsController>(); Firestarter.CreateFakePatients(doctor, this.db, 1); // we now have 1 patient patient = this.db.Patients.FirstOrDefault(); Assert.IsNotNull(patient); patientId = patient.Id; var examResult = new ExaminationResult() { MedicalProcedureCode = "mcode", MedicalProcedureName = "mname", PatientId = patientId, CreatedOn = DateTime.UtcNow, Text = "tudo deu certo", PracticeId = doctor.PracticeId, }; this.db.SYS_MedicalProcedure.AddObject( new SYS_MedicalProcedure() { Code = "mcode", Name = "mname" }); this.db.ExaminationResults.AddObject(examResult); this.db.SaveChanges(); } catch { Assert.Inconclusive("Test initialization has failed."); return; } controller.Delete(patientId); // this patient must have been deleted patient = this.db.Patients.FirstOrDefault(p => p.Id == patientId); Assert.IsNull(patient); }
/// <summary> /// Create a new ExaminationResult object. /// </summary> /// <param name="id">Initial value of the Id property.</param> /// <param name="text">Initial value of the Text property.</param> /// <param name="patientId">Initial value of the PatientId property.</param> /// <param name="createdOn">Initial value of the CreatedOn property.</param> /// <param name="medicalProcedureName">Initial value of the MedicalProcedureName property.</param> /// <param name="practiceId">Initial value of the PracticeId property.</param> /// <param name="examinationDate">Initial value of the ExaminationDate property.</param> /// <param name="receiveDate">Initial value of the ReceiveDate property.</param> public static ExaminationResult CreateExaminationResult(global::System.Int32 id, global::System.String text, global::System.Int32 patientId, global::System.DateTime createdOn, global::System.String medicalProcedureName, global::System.Int32 practiceId, global::System.DateTime examinationDate, global::System.DateTime receiveDate) { ExaminationResult examinationResult = new ExaminationResult(); examinationResult.Id = id; examinationResult.Text = text; examinationResult.PatientId = patientId; examinationResult.CreatedOn = createdOn; examinationResult.MedicalProcedureName = medicalProcedureName; examinationResult.PracticeId = practiceId; examinationResult.ExaminationDate = examinationDate; examinationResult.ReceiveDate = receiveDate; return examinationResult; }
public ActionResult Edit(ExaminationResultViewModel[] examResults) { var formModel = examResults.Single(); ExaminationResult dbObject; if (formModel.Id == null) { dbObject = new ExaminationResult { CreatedOn = this.GetUtcNow(), PatientId = formModel.PatientId.Value, PracticeId = this.DbUser.PracticeId, }; this.db.ExaminationResults.AddObject(dbObject); } else { var practiceId = this.DbUser.PracticeId; dbObject = this.db.ExaminationResults .Where(r => r.Id == formModel.Id) .FirstOrDefault(r => r.Patient.Doctor.Users.FirstOrDefault().PracticeId == practiceId); // If modelObj is null, we must tell the user that this object does not exist. if (dbObject == null) return View("NotFound", formModel); // Security issue... must check current user practice against the practice of the edited objects. var currentUser = this.DbUser; if (currentUser.PracticeId != dbObject.Patient.Doctor.Users.First().PracticeId) return View("NotFound", formModel); } if (this.ModelState.IsValid) { dbObject.Patient.IsBackedUp = false; dbObject.Text = formModel.Text; dbObject.MedicalProcedureName = formModel.MedicalProcedureName; dbObject.MedicalProcedureCode = formModel.MedicalProcedureId.HasValue ? this.db.SYS_MedicalProcedure.Where(mp => mp.Id == formModel.MedicalProcedureId).Select(mp => mp.Code).FirstOrDefault() : formModel.MedicalProcedureCode; dbObject.ExaminationDate = this.ConvertToUtcDateTime(formModel.ExaminationDate.Value); dbObject.ReceiveDate = this.ConvertToUtcDateTime(formModel.ReceiveDate.Value); this.db.SaveChanges(); return this.View("Details", GetViewModel(dbObject, this.GetToLocalDateTimeConverter())); } return this.View("Edit", formModel); }
/// <summary> /// Deprecated Method for adding a new object to the ExaminationResults EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToExaminationResults(ExaminationResult examinationResult) { base.AddObject("ExaminationResults", examinationResult); }