private void ChercheButton_Click(object sender, EventArgs e)
        {
            this.dataGridView.Columns.Clear();
            this.dataGridView.Rows.Clear();

            this.dataGridView.Columns.Add("Prénom", "Prénom");
            this.dataGridView.Columns.Add("Nom", "Nom");
            this.dataGridView.Columns.Add("Age", "Age");
            this.dataGridView.Columns.Add("Quantité", "Quantité");
            this.dataGridView.Columns.Add("Type", "Type");

            foreach (Commande p in entity.Commande)
            {
                if (this.PersonneComboBox.SelectedItem != null)
                {
                    string id_pers = this.PersonneComboBox.SelectedItem.ToString().Split('[')[1].Split(']')[0];
                    if (this.PersonneComboBox.SelectedItem.ToString() != "" && p.id_pers != int.Parse(id_pers))
                    {
                        continue;
                    }
                }

                if (this.BienComboBox.SelectedItem != null)
                {
                    string id_bien = this.BienComboBox.SelectedItem.ToString().Split('[')[1].Split(']')[0];
                    if (this.BienComboBox.SelectedItem.ToString() != "" && p.id_bien != int.Parse(id_bien))
                    {
                        continue;
                    }
                }

                if (this.CommandeComboBox.SelectedItem != null)
                {
                    string id_cmd = this.CommandeComboBox.SelectedItem.ToString().Split('[')[1].Split(']')[0];
                    if (this.CommandeComboBox.SelectedItem.ToString() != "" && p.id_cmd != int.Parse(id_cmd))
                    {
                        continue;
                    }
                }

                Personne pers = Principal.entity.Personne.FirstOrDefault(a => a.id_pers == p.id_pers);
                Bien     bien = Principal.entity.Bien.FirstOrDefault(a => a.id_bien == p.id_bien);
                this.dataGridView.Rows.Add(pers.prenom, pers.nom, pers.age, p.quantite, bien.type);
            }
        }
        private void InitComboBox()
        {
            this.PersonneComboBox.Items.Clear();
            this.PersonneComboBox.Items.Add("");
            foreach (Personne p in entity.Personne)
            {
                string s = string.Format("[{0}] {1} {2} {3}", p.id_pers, p.nom, p.prenom, p.age != null ? string.Concat("[", p.age, "]") : null);
                this.PersonneComboBox.Items.Add(s);
            }

            this.PaysComboBox.Items.Clear();
            this.PaysComboBox.Items.Add("");
            foreach (Pays p in entity.Pays)
            {
                string s = string.Format("[{0}] {1}", p.id_pays, p.nom_pays);
                this.PaysComboBox.Items.Add(s);
            }

            this.CommandeComboBox.Items.Clear();
            this.CommandeComboBox.Items.Add("");
            foreach (Commande p in entity.Commande)
            {
                Personne pers = entity.Personne.FirstOrDefault(a => a.id_pers == p.id_pers);
                string   s    = string.Format("{0} {1}", pers.nom, pers.prenom);

                Bien b = entity.Bien.FirstOrDefault(a => a.id_bien == p.id_bien);

                string str = string.Format("[{0}] {1} achète {2} de {3}.", p.id_cmd, s, p.quantite, b.type);
                this.CommandeComboBox.Items.Add(str);
            }

            this.BienComboBox.Items.Clear();
            this.BienComboBox.Items.Add("");
            foreach (Bien p in entity.Bien)
            {
                string s = string.Format("[{0}] {1}", p.id_bien, p.type);
                this.BienComboBox.Items.Add(s);
            }
        }
        private void AjoutButton_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.TypeComboBox.SelectedItem.ToString() == "Personne")
                {
                    Personne p = Personne.CreatePersonne(0, this.textBox1.Text);
                    p.prenom = this.textBox2.Text;
                    p.age    = int.Parse(this.textBox3.Text);

                    Principal.entity.AddToPersonne(p);
                    Principal.entity.SaveChanges();

                    MessageBox.Show(string.Format("Personne ajoutée: {0}", p.prenom));
                }
                else if (this.TypeComboBox.SelectedItem.ToString() == "Commande")
                {
                    int id_pers = 0;
                    int id_bien = 0;

                    Personne pers = Principal.entity.Personne.FirstOrDefault(a => a.nom == this.textBox3.Text);
                    if (pers == null)
                    {
                        MessageBox.Show(string.Concat("Impossible de trouver la personne: ", this.textBox3.Text, "."));
                        return;
                    }
                    else
                    {
                        id_pers = pers.id_pers;
                    }

                    Bien bien = Principal.entity.Bien.FirstOrDefault(a => a.type == this.textBox1.Text);
                    if (bien == null)
                    {
                        MessageBox.Show(string.Concat("Impossible de trouver le type de bien: ", this.textBox1.Text, "."));
                        return;
                    }
                    else
                    {
                        id_bien = bien.id_bien;
                    }

                    Commande cmd = Commande.CreateCommande(1, id_pers, id_bien, int.Parse(this.textBox2.Text));

                    Principal.entity.AddToCommande(cmd);
                    Principal.entity.SaveChanges();

                    MessageBox.Show("Commande ajoutée !");
                }
                else if (this.TypeComboBox.SelectedItem.ToString() == "Bien")
                {
                    Bien p = Bien.CreateBien(0, this.textBox1.Text);
                    p.commentaire = this.textBox2.Text;

                    Principal.entity.AddToBien(p);
                    Principal.entity.SaveChanges();

                    MessageBox.Show(string.Format("Bien ajouté: {0}", p.type));
                }
                else if (this.TypeComboBox.SelectedItem.ToString() == "Pays")
                {
                    Pays p = Pays.CreatePays(0, this.textBox1.Text);

                    Principal.entity.AddToPays(p);
                    Principal.entity.SaveChanges();

                    MessageBox.Show(string.Format("Pays ajouté: {0}", p.nom_pays));
                }
            }
            catch (Exception err)
            {
                MessageBox.Show(err.ToString());
            }
            finally
            {
                this.CacheTout();
            }
        }