/// <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>
        /// 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>
        /// Shows summary of all anamneses.
        /// </summary>
        /// <param name="overzicht"></param>
        public void Overzicht(AnamneseOverzicht overzicht)
        {
            DataSet data = ((QueryBuilder)MysqlSshConnection.InstanceCon).CustomeQuery(
                "SELECT * FROM anamneslijst WHERE patient_id = " + Container.GetInstance.Get("patient")["id"]);

            // patiennaam
            overzicht.patientNaamTxt.Text = "Patient naam: " + Container.GetInstance.Get("patient")["naam"];


            if (data.Tables[0].Rows.Count > 0)
            {
                overzicht.CreateAnamneseBtn.Visibility = Visibility.Hidden;
            }
            if (data.Tables[0].Rows.Count > 0)
            {
                overzicht.updateBtn.Visibility = Visibility.Visible;
            }
            if (data.Tables[0].Rows.Count > 0)
            {
                overzicht.deletebtn.Visibility = Visibility.Hidden;
            }

            foreach (DataRow anamnese in data.Tables[0].Rows)
            {
                foreach (DataColumn dc in data.Tables[0].Columns)
                {
                    TextBox textBox = new TextBox();
                    textBox.Text       = anamnese[dc.ColumnName].ToString();
                    textBox.IsReadOnly = true;
                    Label label = new Label();
                    label.Content = dc.ColumnName;

                    overzicht.Patientstack.Children.Add(label);
                    overzicht.Patientstack.Children.Add(textBox);

                    Thickness margin = textBox.Margin;
                    margin.Bottom  = 20;
                    textBox.Margin = margin;
                }
            }
        }