private void btnOpenDossier_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (validaDossier())
                {
                    DossierAdmission dossier = new DossierAdmission();


                    dossier.ChirurgieProg = dateChirurgienDossier.SelectedDate == null? false : true;
                    dossier.DateAdmission = dateAdmissionDossier.SelectedDate;
                    dossier.DateChirurgie = dateChirurgienDossier.SelectedDate;
                    dossier.NSS           = int.Parse(cbNSSPatient.Text);
                    dossier.NumeroLit     = cbNumeroLit.Text;
                    dossier.IdMedecin     = (cbIdMedecin.SelectedItem as Medecin).IdMedecin;
                    dossier.IdLocation    = (cbLocation.SelectedItem != null) ? (cbLocation.SelectedItem as Location).IdLocation : 1;


                    // methode pour savoir la valeur a payer du lit.

                    Lit litPat         = cbNumeroLit.SelectedItem as Lit;
                    int TypeLitFacture = typeLitFact(litPat.NumeroType);

                    decimal cout = (decimal)(MainWindow.bdHospital.TypeLits.Where(tl => tl.NumeroType == TypeLitFacture).FirstOrDefault()).Prix;

                    CompagnieAssurance cass = cbAssurancePatient.SelectedItem as CompagnieAssurance;
                    if (cass.IdCompagnie != 1)
                    {
                        cout -= (decimal)(MainWindow.bdHospital.TypeLits.Where(tl => tl.NumeroType == 1).FirstOrDefault()).Prix;
                    }

                    Location loca = cbLocation.SelectedItem as Location;
                    if (loca.IdLocation != 1)
                    {
                        cout += (decimal)loca.Prix;
                    }


                    MessageBoxResult res = MessageBox.Show(string.Format("Il y a un frais a payer de $ {0}. Voulez vous continuer et payer?", cout.ToString("F")), "Attention", MessageBoxButton.YesNo, MessageBoxImage.Question);

                    if (res == MessageBoxResult.Yes)
                    {
                        MainWindow.bdHospital.DossierAdmissions.Add(dossier);

                        Lit lit = cbNumeroLit.SelectedItem as Lit;
                        lit.Occupe = true;

                        MainWindow.bdHospital.SaveChanges();
                        MessageBox.Show("OK le patient est admis", "Succes", MessageBoxButton.OK, MessageBoxImage.Information);

                        labNSS.Content            = cbNSSPatient.Text;
                        prenomPatientShow.Content = txtPrenomPatient.Text;
                        prenomParentShow.Content  = txtPrenomParent.Text;
                        NomParentShow.Content     = txtNomParent.Text;
                        assuranceShow.Content     = cbAssurancePatient.Text;
                        idCossierShow.Content     = dossier.IdAdmission;
                        telPatientShow.Content    = txtTelePatient.Text;
                        coutShow.Content          = "$ " + cout.ToString("F");
                    }
                }
                else
                {
                    throw new Exception("SECTION PATIENT: Les champs Nom, Prenom, Telephone, Date naissance et Assurance sont requis");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), "Erreur", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
        private void btnAjouterPatiet_Click(object sender, RoutedEventArgs e)
        {
            CompagnieAssurance assu = cbAssurancePatient.SelectedItem as CompagnieAssurance;

            Parent par = new Parent {
                Nom        = txtNomParent.Text,
                Prenom     = txtPrenomParent.Text,
                Adresse    = txtAdresseParent.Text,
                Province   = txtProvinceParent.Text,
                CodePostal = txtCodeParent.Text,
                Ville      = txtVilleParent.Text,
                Telephone  = txtTeleParent.Text
            };

            try
            {
                if (validaParent())
                {
                    MainWindow.bdHospital.Parents.Add(par);
                    MainWindow.bdHospital.SaveChanges();
                    MessageBox.Show("OK Parent ajouté", "Succes", MessageBoxButton.OK, MessageBoxImage.Information);
                }
                else
                {
                    throw new Exception("SECTION PARENT : Les champs Nom et Telephone sont requis.");
                }
                //MessageBox.Show("Les champs Nom et Telephone sont requis", "Erreur", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), "Erreur", MessageBoxButton.OK, MessageBoxImage.Error);
            }


            Parent Par = MainWindow.bdHospital.Parents.ToList().Last();

            try
            {
                if (validaPatient())
                {
                    Patient p = new Patient
                    {
                        DateNaissance = dateNaissancePatient.SelectedDate,
                        Nom           = txtNomPatient.Text,
                        Prenom        = txtPrenomPatient.Text,
                        Adresse       = txtAdressePatient.Text,
                        Province      = txtProvincePatient.Text,
                        Ville         = txtVillePatient.Text,
                        CodePostal    = txtCodePostalPatient.Text,
                        Telephone     = txtTelePatient.Text,
                        IdCompagnie   = assu.IdCompagnie,
                        RefParent     = Par.RefParent,
                    };

                    MainWindow.bdHospital.Patients.Add(p);
                    MainWindow.bdHospital.SaveChanges();
                    MessageBox.Show("OK Patient ajouté", "Succes", MessageBoxButton.OK, MessageBoxImage.Information);
                    clearAll();
                }
                else
                {
                    throw new Exception("SECTION PATIENT: Les champs Nom, Prenom, Telephone, Date naissance et Assurance sont requis");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), "Erreur", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }