/// <summary> /// this functions checks if an anamnese for a patient exists in the database /// </summary> /// <param name="pagesnavigation"></param> /// <param name="patientenDataGrid"></param> /// <returns></returns> public bool CheckIfAnamneseForPatient(PagesNavigation pagesnavigation, DataGrid patientenDataGrid) { DataSet data = ((QueryBuilder)MysqlSshConnection.InstanceCon).CustomeQuery( "SELECT * FROM anamneslijst WHERE patient_id =" + Container.GetInstance.Get("patient")["id"]); //if patienten anamnese exist : enable buttons if (data.Tables[0].Rows.Count == 0) { pagesnavigation.DossierButton.IsEnabled = false; pagesnavigation.MetingenButton.IsEnabled = false; pagesnavigation.RapportageButton.IsEnabled = false; AnamneseOverzicht anamneseButton = new AnamneseOverzicht(pagesnavigation, patientenDataGrid); pagesnavigation.mainFrame.NavigationService.Navigate(anamneseButton); pagesnavigation.ShowDialog(); return(true); } // else if patienten anamnese does not exist : enable buttons pagesnavigation.DossierButton.IsEnabled = true; pagesnavigation.MetingenButton.IsEnabled = true; pagesnavigation.RapportageButton.IsEnabled = true; return(false); }
/// <summary> /// Handles the mainframe in the patientendossier page /// </summary> /// <param name="sender"></param> /// <param name="mainframe"></param> /// <param name="pagesNavigation"></param> /// <param name="home"></param> /// <param name="patientenDataGrid"></param> public void PagesHandler(object sender, Frame mainframe, PagesNavigation pagesNavigation, Home home, DataGrid patientenDataGrid) { Button btn = (Button)sender; switch (btn.Name) { case "DossierButton": PatientDossier patient = new PatientDossier(pagesNavigation, patientenDataGrid); mainframe.NavigationService.Navigate(patient); break; case "AnamneseButton": AnamneseOverzicht anamneseButton = new AnamneseOverzicht(pagesNavigation, patientenDataGrid); mainframe.NavigationService.Navigate(anamneseButton); break; case "MetingenButton": MetingenOverzicht metingenOverzicht = new MetingenOverzicht(); mainframe.NavigationService.Navigate(metingenOverzicht); break; case "RapportageButton": RapportagesOverzicht rapportagesOverzicht = new RapportagesOverzicht(); mainframe.NavigationService.Navigate(rapportagesOverzicht); break; case "PatientDossier": break; } }
/// <summary> /// loads anamnese overview /// </summary> /// <param name="pagesNavigation"></param> /// <param name="patientenDataGrid"></param> public AnamneseOverzicht(PagesNavigation pagesNavigation, DataGrid patientenDataGrid) { InitializeComponent(); anamneseController.Overzicht(this); CreateAnamneseBtn.Click += (sender, e) => anamneseController.CreateAnamnese(sender, NavigationService, pagesNavigation, patientenDataGrid); deletebtn.Click += (sender, e) => patientController.DeletePatient(pagesNavigation, patientenDataGrid); }
/// <summary> /// creates new anamnse /// </summary> /// <param name="pagesNavigation"></param> /// <param name="patienDataGrid"></param> public AnamneseCreate(PagesNavigation pagesNavigation, DataGrid patienDataGrid) { InitializeComponent(); gordon_saveBtn.Click += (sender, e) => anamnesecontroller.Create(sender, stackpanel, NavigationService, pagesNavigation, patienDataGrid); patient_id.Text = Container.GetInstance.Get("patient")["id"].ToString(); patient_id.IsReadOnly = true; }
/// <summary> /// Method to navigate to the create anamnese page. /// </summary> /// <param name="sender"></param> /// <param name="nav"></param> /// <param name="pagesNavigation"></param> /// <param name="patientenDataGrid"></param> public void CreateAnamnese(object sender, NavigationService nav, PagesNavigation pagesNavigation, DataGrid patientenDataGrid) { AnamneseCreate anamneseCreate = new AnamneseCreate(pagesNavigation, patientenDataGrid); Button btn = (Button)sender; if (btn.Name == "CreateAnamneseBtn") { nav.Navigate(anamneseCreate); } }
/// <summary> /// Method that inserts all fields into the database. /// </summary> /// <param name="sender"></param> /// <param name="stackpanel"></param> /// <param name="nav"></param> /// <param name="page"></param> /// <param name="patientenDataGrid"></param> public void Create(object sender, StackPanel stackpanel, NavigationService nav, PagesNavigation page, DataGrid patientenDataGrid) { Dictionary <string, string> array = new Dictionary <string, string>(); foreach (FrameworkElement child in stackpanel.Children) { Grid grid = child as Grid; foreach (object textfield in grid.Children) { if (textfield.GetType() == typeof(TextBox)) { TextBox textbox = textfield as TextBox; array[textbox.Name] = !string.IsNullOrEmpty(textbox.Text) ? textbox.Text : null; } } } if (!Checkifempty(stackpanel)) { MessageBox.Show("Niet alle velden zijn ingevuld"); } else { MessageBoxResult result = MessageBox.Show("Weet u zeker dat u de anamnese wilt opslaan?", "Anamnse opslaan", MessageBoxButton.YesNoCancel); AnamneseOverzicht anamneseOverzicht = new AnamneseOverzicht(page, patientenDataGrid); switch (result) { case MessageBoxResult.Yes: MessageBox.Show("Anamanese aangemaakt! Klik op 'Anamnese' in het menu om deze te bekijken."); ((QueryBuilder)MysqlSshConnection.InstanceCon).InsertHandler("anamneslijst", array); nav.Navigate(anamneseOverzicht); page.Close(); Home home = new Home(); PagesNavigation a = new PagesNavigation(home, patientenDataGrid); a.ShowDialog(); break; case MessageBoxResult.No: break; case MessageBoxResult.Cancel: break; } } }
/// <summary> /// opens patient page /// </summary> /// <param name="patientenDataGrid"></param> /// <param name="home"></param> public void OpenPatient(DataGrid patientenDataGrid, Home home) { DataRowView selectedRow = patientenDataGrid.SelectedItem as DataRowView; Dictionary <string, string> patientenDataRowArray = new Dictionary <string, string>(); patientenDataRowArray["id"] = selectedRow.Row.ItemArray[0].ToString(); DataSet patientDataRow = ((QueryBuilder)MysqlSshConnection.InstanceCon).CustomeQuery("SELECT * FROM patient WHERE userid = " + Container.GetInstance.Get("userId") + " AND id = " + patientenDataRowArray["id"]); Container.GetInstance.Set("patient", patientDataRow.Tables[0].Rows[0]); PagesNavigation navigation = new PagesNavigation(home, patientenDataGrid); if (!CheckIfAnamneseForPatient(navigation, patientenDataGrid)) { PatientDossier patient = new PatientDossier(navigation, patientenDataGrid); navigation.mainFrame.NavigationService.Navigate(patient); navigation.ShowDialog(); } }
/// <summary> /// handles patient page functions /// </summary> /// <param name="pagesNavigation"></param> /// <param name="patientenDataGrid"></param> public PatientDossier(PagesNavigation pagesNavigation, DataGrid patientenDataGrid) { InitializeComponent(); patientController.Overzicht(this); deletebtn.Click += (sender, e) => patientController.DeletePatient(pagesNavigation, patientenDataGrid); }