private void btnAjouterAdmission_Click(object sender, RoutedEventArgs e)
 {
     //On valide si le patient existe
     if ((from p in myBdd.Patients where p.NSS == txtAdmissionNSS.Text select p).Any())
     {
         labelNSSTrouve.Content = "";
         //On valide qu'il y a des lits disponible
         if (litDispo()) //Du type qu'il a choisi
         {
             //On verifie s'il y a une chirurgie programmee
             if ((bool)chkChirurgieProg.IsChecked)
             {
                 if (cmbDepartements.Text != "Chirurgie")
                 {
                     chkChirurgieProg_Checked(sender, e);
                 }
                 else
                 {
                     //S'il y a une chirurgie programme on valide qu'il y a une date de selectionnee
                     if (datePickChirurgie == null)
                     {
                         labelDateChirurgie.Content = "Veuillez selectionner une date svp!";
                     }
                     else
                     {
                         creeAdmission();
                         Departement dept     = cmbDepartements.SelectedItem as Departement;
                         Type_lit    type_Lit = cmbTypeLit.SelectedItem as Type_lit;
                         txtFraisSupp.Content = String.Format("Voici vos frais supplementaire quotidien: {0}$", fraisSupp(VerifierAssurancePublic(txtAdmissionNSS.Text), dept, type_Lit));
                     }
                 }
             }
             else //S'il y a pas de chirurgie prog
             {
                 creeAdmission();
                 Departement dept     = cmbDepartements.SelectedItem as Departement;
                 Type_lit    type_Lit = cmbTypeLit.SelectedItem as Type_lit;
                 txtFraisSupp.Content = String.Format("Voici vos frais supplementaire quotidien: {0}$", fraisSupp(VerifierAssurancePublic(txtAdmissionNSS.Text), dept, type_Lit));
             }
         }
         else //S'il n'y a plus de lits disponible
         {
             MessageBox.Show("On a plus de lit disponible a l'heure actuel", "Plus de place!");
         }
     }
     else //Si la patient n'existe pas
     {
         labelNSSTrouve.Content = "Aucun Patient trouve!";
     }
 }
        private void cmbTypeLit_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            Departement dept     = cmbDepartements.SelectedItem as Departement;
            Type_lit    type_Lit = cmbTypeLit.SelectedItem as Type_lit;

            if (dept != null)
            {
                if ((from l in myBdd.Lits where l.Occupe == false & l.ID_Departement == dept.ID_Departement & l.ID_Type == type_Lit.ID_Type select l).Count() > 0)
                {
                    cmbNumLit.DataContext = (from l in myBdd.Lits where l.Occupe == false & l.ID_Departement == dept.ID_Departement & l.ID_Type == type_Lit.ID_Type select l).ToList();
                }
                else
                {
                    MessageBox.Show(String.Format("Il n'y a plus de lit {0} disponible dans le departement selectionne. Veuillez selectionner un autre type de lit ou un autre departement.", cmbTypeLit.Text));
                    cmbNumLit.DataContext = "";
                }
            }
        }
        private double fraisSupp(Boolean isPublic, Departement dept, Type_lit type_Lit)
        {
            double     fraisSupp     = 0;
            List <Lit> litStandard   = (from l in myBdd.Lits where l.Occupe == false & l.ID_Departement == dept.ID_Departement & l.ID_Type == "Standard" select l).ToList();
            List <Lit> litSemi_Prive = (from l in myBdd.Lits where l.Occupe == false & l.ID_Departement == dept.ID_Departement & l.ID_Type == "Semi-Prive" select l).ToList();

            if (isPublic)
            {
                switch (type_Lit.ID_Type)
                {
                case "Semi-Prive":
                    fraisSupp = litStandard.Count() <= 0 ? 267 : 0;
                    break;

                case "Prive":
                    fraisSupp = litSemi_Prive.Count() <= 0 ? 571 : 0;
                    break;
                }
            }

            fraisSupp += (bool)chkTeleviseur.IsChecked ? 42.50 : 0;
            fraisSupp += (bool)chkTelephone.IsChecked ? 7.50 : 0;
            return(fraisSupp);
        }