private void selectButton_Click(object sender, RoutedEventArgs e) { try { DataModelPatient SelectedPatient = patientsListView.SelectedItem as DataModelPatient; string selectedPatientID = SelectedPatient.Id; studyParameters.ActualPatientFirstName = SelectedPatient.FirstName; studyParameters.ActualPatientLastName = SelectedPatient.LastName; studyParameters.ActualPatientId = SelectedPatient.Id; //myGlobalSettings.ActualPatientComment = patientList[patientIndex].Comment; studyParameters.ActualPatientBirthDate = (DateTime)SelectedPatient.BirthDate; fileParameters.studyFolder = SelectedPatient.PatientFilePath; // setup nested list of study dates, acq files, and recon files //loadStudyFileList(SelectedPatient.PatientFilePath); // forward cancel event to the main GUI if (this.SelectPopupEvent != null) { this.SelectPopupEvent(new object(), new EventArgs()); } } catch { } }
public void fillPatientDetails(DataModelPatient SelectedPatient) { try { patientFirstNameTextBox.Text = SelectedPatient.FirstName; patientLastNameTextBox.Text = SelectedPatient.LastName; patientIdTextBox.Text = SelectedPatient.Id.ToString(); patientCommentTextBox.Text = SelectedPatient.Comment; patientBirthDate.SelectedDate = SelectedPatient.BirthDate; int patientSexIndex = 0; switch (SelectedPatient.Sex) { case PatientSex.F: patientSexIndex = 0; break; case PatientSex.M: patientSexIndex = 1; break; case PatientSex.O: patientSexIndex = 2; break; case PatientSex.N: patientSexIndex = 3; break; } patientSexComboBox.SelectedIndex = patientSexIndex; } catch { } }
private void saveChanges() { saveChangesToPatientFilePath(DMMS); previousDMMS = null; if (IsNewPatient) { IsNewPatient = false; } }
private void saveChangesToPatientFilePath(DataModelPatient dmms) { try { //!!! //DataModelSerialization.SaveToPath(dmms, dmms.PatientFilePath, Log); System.Windows.MessageBox.Show("Now you should save the data"); } catch (Exception ex) { //MSOTService.IMSOTLog.HandleError(Services.Log.EnumLogType.Warning, DisplayName, "Exception saving patient changes: " + ex.Message); } }
private void discardChanges() { if (!IsNewPatient) { if (previousDMMS != null) { // DMMS = previousDMMS.DeepCopy<DataModelPatient>(); previousDMMS = null; } RefreshIsDuplicateId(); dataModelCompleteRefreshed(); OnPropertyChanged("IsValid"); } else { OnDiscardNewPatient(); } }
private bool patientFilter(object item) { DataModelPatient patient = item as DataModelPatient; if (patient.Id.IndexOf(filterTextBox.Text, StringComparison.OrdinalIgnoreCase) >= 0) { return(true); } if (patient.LastName.IndexOf(filterTextBox.Text, StringComparison.OrdinalIgnoreCase) >= 0) { return(true); } if (patient.FirstName.IndexOf(filterTextBox.Text, StringComparison.OrdinalIgnoreCase) >= 0) { return(true); } return(false); }
public bool CompareAsStrings(DataModelPatient obj) { bool retValue = false; System.IO.StringWriter textWriter1 = null; System.IO.StringWriter textWriter2 = null; try { System.Xml.Serialization.XmlSerializer xmlSer = new System.Xml.Serialization.XmlSerializer(obj.GetType()); textWriter1 = new System.IO.StringWriter(); xmlSer.Serialize(textWriter1, this); string thisString = textWriter1.ToString(); textWriter2 = new System.IO.StringWriter(); xmlSer.Serialize(textWriter2, obj); string objString = textWriter2.ToString(); if (thisString == objString) { retValue = true; } } catch { } finally { if (textWriter1 != null) { textWriter1.Close(); } if (textWriter2 != null) { textWriter2.Close(); } } return(retValue); }
public void NewPatient() { try { string newPatientStudyFilePath; newPatientStudyFilePath = CreateNewPatientStudy(); if (string.IsNullOrWhiteSpace(newPatientStudyFilePath)) { return; } string newPatientStudyName = Path.GetFileNameWithoutExtension(newPatientStudyFilePath); string studyPath = Path.GetDirectoryName(newPatientStudyFilePath); string patientFilePath = Path.Combine(studyPath, newPatientStudyName + _patientFileNameExtension); DataModelPatient patientDM = new DataModelPatient(patientFilePath); patientDM.Id = getNextAvailablePatientId(); //DataModelSerialization.SaveToPath(patientDM, patientDM.PatientFilePath, Log); System.Windows.MessageBox.Show("Hier sollte gesaved werden"); ViewModelPatient patientVM = new ViewModelPatient(); //patientVM.InitializePlugin(patientDM.FriendlyName, new DataModelCatalogItem(patientDM), this); //patientVM.CommandLoad.Execute(null); patientVM.IsNewPatient = true; patientVM.DiscardNewPatient += patientVM_DiscardNewPatient; patientVM.CheckDuplicateId += patientVM_CheckDuplicateId; patientVM.NewPatientSaved += patientVM_NewPatientSaved; _patients.Insert(0, patientVM); SelectedPatient = _patients[0]; SelectedPatient.RefreshIsDuplicateId(); } catch (Exception ex) { //MSOTService.IMSOTLog.HandleError(DisplayName, "Exception creating new patient: " + ex.Message); System.Windows.MessageBox.Show("Exception creating new patient: " + ex.Message); } }
private void finishEdit() { previousDMMS = null; }
public ViewModelPatient() { DMMS = new DataModelPatient(); }
private void saveNewPatientButton_Click(object sender, RoutedEventArgs e) { //here comes the code for saving a new patient // first check inputs string _newPatientId = patientIdTextBox.Text; string _newPatientFirstName = patientFirstNameTextBox.Text; string _newPatientLastName = patientLastNameTextBox.Text; string _newPatientComment = patientCommentTextBox.Text; DateTime _newPatientBirthDate = new DateTime(1900, 1, 1); try { _newPatientBirthDate = (DateTime)patientBirthDate.SelectedDate; } catch { } int _newPatientSexIndex = patientSexComboBox.SelectedIndex; PatientSex _newPatientSex = PatientSex.N; switch (_newPatientSexIndex) { case 0: _newPatientSex = PatientSex.F; break; case 1: _newPatientSex = PatientSex.M; break; case 2: _newPatientSex = PatientSex.N; break; case 3: _newPatientSex = PatientSex.O; break; } //patientSexComboBox.SelectedItem as PatientSex; DateTime _newPatientCreationTime = DateTime.Now; // create new study folder string path = fileParameters.RSOMdataFolder + "\\study" + _newPatientId; if (Directory.Exists(path)) { Console.WriteLine("That study exists already."); System.Windows.MessageBox.Show("That study exists already. Please change ID"); return; } else { try { Directory.CreateDirectory(@path); } catch { System.Windows.MessageBox.Show("Not able to create new patient folder. Please check permissions"); } } // Create patient Study nod-file and save data XDocument objXDoc = new XDocument( new XElement("DataModelPatient", new XElement("FriendlyName", ""), new XElement("CreationTime", _newPatientCreationTime.ToString("o")), new XElement("Comment", _newPatientComment), new XElement("FirstName", _newPatientFirstName), new XElement("LastName", _newPatientLastName), new XElement("Id", _newPatientId), new XElement("BirthDate", _newPatientBirthDate.ToString("o")), new XElement("Sex", _newPatientSex.ToString()), new XElement("LastExam", "") ) ); objXDoc.Declaration = new XDeclaration("1.0", "utf-8", "true"); // string filename = path + "\\study" + _newPatientId + studyParameters.PatientFileNameExtension; objXDoc.Save(@filename); // Add to patient List DataModelPatient _newCreatedPatient = (new DataModelPatient { FirstName = _newPatientFirstName, LastName = _newPatientLastName, Id = _newPatientId, BirthDate = _newPatientBirthDate, Sex = _newPatientSex, Comment = _newPatientComment, FriendlyName = "", CreationTime = _newPatientCreationTime, PatientFilePath = path }); patientList.Add(_newCreatedPatient); studyParameters.highestCurrentStudyId = Convert.ToInt32(_newPatientId); // //ViewModelPatient selected = patientsListView.SelectedItem as ViewModelPatient; //selectAndScrollToPatientListViewItem(selected); // fill the patient details with last selected patient //fillPatientDetails(_newCreatedPatient); patientsListView.SelectedItem = _newCreatedPatient; patientsListView.Items.Refresh(); EditingNewPatient = false; // Change back GUI behaviour patientsListView.IsEnabled = true; deletePatientButton.IsEnabled = true; clearFilterButton.IsEnabled = true; filterTextBox.IsEnabled = true; selectButton.Visibility = Visibility.Visible; saveNewPatientButton.Visibility = Visibility.Collapsed; }