/* SAVE OF UPDATE */ private void btnCreateEditUpdateVisit_Click(object sender, RoutedEventArgs e) { // VALIDATION bool isError = false; if (String.IsNullOrEmpty(acbDoctor.Text)) { acbDoctor.BorderBrush = new BrushConverter().ConvertFromString("Red") as Brush; isError = true; } if (!dtDate_of_Examination.SelectedDate.HasValue) { dtDate_of_Examination.SetValue(Border.BorderBrushProperty, Brushes.Red); isError = true; } if (isError) { return; } Domain.Visit Visit; if (mode == Mode.create) { Visit = new Domain.Visit(); Visit.Patient = Patient; Patient.Visits.Add(Visit); } else { Visit = SelectedVisit; } // ENCAPSULATION Visit.ReferredBy = acbReferredBy.Text; Visit.Doctors_Email = acbDoctors_Email.Text; Visit.Doctor = acbDoctor.Text; Visit.Date_of_Examination = dtDate_of_Examination.SelectedDate.Value; Visit.Diagnosis = acbDiagnosis.Text; Visit.Treatment = acbTreatment.Text; foreach (Domain.Symptom sym in TempVisitSymptoms) { bool isNew = true; foreach (Domain.Symptom s in Visit.Symptoms) { if (s.Name == sym.Name) { isNew = false; } } if (isNew) { sym.Visit = Visit; Visit.Symptoms.Add(sym); } } foreach (Domain.Tag tag in TempVisitTags) { bool isNew = true; foreach (Domain.Tag t in Visit.Tags) { if (t.Name == tag.Name) { isNew = false; } } if (isNew) { tag.Visit = Visit; Visit.Tags.Add(tag); } } List<Domain.Symptom> toberemovedSymptoms = new List<Domain.Symptom>(); foreach (Domain.Symptom s in Visit.Symptoms) { bool isPresent = false; foreach (Domain.Symptom sym in TempVisitSymptoms) { if (s.Name == sym.Name) { isPresent = true; } } if (!isPresent) { toberemovedSymptoms.Add(s); } } foreach (Domain.Symptom s in toberemovedSymptoms) { s.Visit = null; Visit.Symptoms.Remove(s); } List<Domain.Tag> toberemovedTags = new List<Domain.Tag>(); foreach (Domain.Tag t in Visit.Tags) { bool isPresent = false; foreach (Domain.Tag tag in TempVisitTags) { if (t.Name == tag.Name) { isPresent = true; } } if (!isPresent) { toberemovedTags.Add(t); } } foreach (Domain.Tag t in toberemovedTags) { t.Visit = null; Visit.Tags.Remove(t); } // DB var session = ((App)Application.Current).session; using (var transaction = session.BeginTransaction()) { session.SaveOrUpdate(Visit); transaction.Commit(); } if (mode == Mode.create) { CreateNewVisitComplete(); Start(); } else { UpdateVisit(); Refresh(); } }
/* populates selected visit details */ private void lbxVisits_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (lbxVisits.SelectedIndex != -1) { /* If User clicks on previous visits while creating a visit * ui needs to be updated for updating */ if (mode == Mode.create) { CreateNewVisitComplete(); } SelectedVisit = (Domain.Visit)lbxVisits.SelectedItem; acbReferredBy.Text = SelectedVisit.ReferredBy; acbDoctors_Email.Text = SelectedVisit.Doctors_Email; acbDoctor.Text = SelectedVisit.Doctor; dtDate_of_Examination.Text = SelectedVisit.Date_of_Examination.Date.ToString(); acbDiagnosis.Text = SelectedVisit.Diagnosis; acbTreatment.Text = SelectedVisit.Treatment; TempVisitSymptoms = SelectedVisit.Symptoms.ToList(); TempVisitTags = SelectedVisit.Tags.ToList(); lbxSymptoms.ItemsSource = TempVisitSymptoms; lbxTags.ItemsSource = TempVisitTags; acbSymptom.Text = ""; acbTag.Text = ""; UpdateVisit(); } }
/* populates selected visit details */ private void lbxVisits_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (lbxVisits.SelectedIndex != -1) { /* If User clicks on previous visits while creating a visit * ui needs to be updated for updating */ if (mode == Mode.create) { CreateNewVisitComplete(); } if(TempVisitMedia!=null) CleanupMedia.AddRange(TempVisitMedia.FindAll(m => m.Id == 0).Select(m => m.Path)); SelectedVisit = (Domain.Visit)lbxVisits.SelectedItem; acbReferredBy.Text = SelectedVisit.ReferredBy; acbDoctors_Email.Text = SelectedVisit.Doctors_Email; acbDoctor.Text = SelectedVisit.Doctor; dtDate_of_Examination.Text = SelectedVisit.Date_of_Examination.Date.ToString(); acbDiagnosis.Text = SelectedVisit.Diagnosis; acbTreatment.Text = SelectedVisit.Treatment; TempVisitSymptoms = SelectedVisit.Symptoms.ToList(); lbxSymptoms.ItemsSource = TempVisitSymptoms; TempVisitTags = SelectedVisit.Tags.ToList(); lbxTags.ItemsSource = TempVisitTags; TempVisitMedia = SelectedVisit.Media.ToList(); lbxVideos.ItemsSource = TempVisitMedia.FindAll(n => n.Type == Domain.MediumType.Video); lbxImages.ItemsSource = TempVisitMedia.FindAll(n => n.Type == Domain.MediumType.Image); acbSymptom.Text = ""; acbTag.Text = ""; UpdateVisit(); } }