Пример #1
0
        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);
            }
        }