private void btnAfficherAdmission_Click(object sender, RoutedEventArgs e) { AdmissionAffichee adm = dgListeAdmissions.SelectedItem as AdmissionAffichee; if (adm != null) { //AfficherAdmission fenetreAA = new AfficherAdmission(adm); //fenetreAA.ShowDialog(); Admission sAdmission = myBdd.Admissions.SingleOrDefault(a => a.IdAdmission == adm.IdAdmission); if (sAdmission != null) { AfficherAdmission fenetreAA = new AfficherAdmission(sAdmission); fenetreAA.ShowDialog(); } else { MessageBox.Show("Aucune admission n'est choisie", "Alerte", MessageBoxButton.OK, MessageBoxImage.Warning); } } else { MessageBox.Show("Aucune admission n'est choisie", "Alerte", MessageBoxButton.OK, MessageBoxImage.Warning); } }
} // btnCongedierMedecin_Click private void btnSupprimerMedecin_Click(object sender, RoutedEventArgs e) { Medecin sMedecin = dgListeMedecins.SelectedItem as Medecin; if (sMedecin != null && sMedecin.IdMedecin != null) { // Verification si le medecin choisi pour suppression est lie a un dossier d'admission Admission dossierAdmission = myBdd.Admissions.FirstOrDefault(x => x.idMedecin == sMedecin.IdMedecin); if (dossierAdmission != null) { MessageBox.Show("Suppression est impossible: le médecin " + sMedecin.Prenom.Trim() + " " + sMedecin.Nom.Trim() + "est lié à un dossier d'admission", "Alerte", MessageBoxButton.OK, MessageBoxImage.Warning); } else { var resultat = MessageBox.Show("Êtes-vous certain de vouloir supprimer le médecin " + sMedecin.Prenom.Trim() + " " + sMedecin.Nom.Trim() + "?", "Attention", MessageBoxButton.YesNo, MessageBoxImage.Question); if (resultat == MessageBoxResult.Yes) { Medecin med = myBdd.Medecins.SingleOrDefault(x => x.IdMedecin == sMedecin.IdMedecin); myBdd.Medecins.Remove(med); try { myBdd.SaveChanges(); MessageBox.Show("Le médecin " + sMedecin.Prenom.Trim() + " " + sMedecin.Nom.Trim() + " supprimé avec succès", "Confirmation", MessageBoxButton.OK, MessageBoxImage.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, "Erreur d'enregistrement", MessageBoxButton.OK, MessageBoxImage.Error); } afficherMedecins(); } // if MessageBoxResult.Yes } // else i.e. dossierAdmission == null } // if (sMedecin != null) else { MessageBox.Show("Choisissez un médecin à supprimer", "Rappel", MessageBoxButton.OK, MessageBoxImage.Warning); } } // btnSupprimerMedecin_Click
} // listerAdmissions() private void btnDonnerConge_Click(object sender, RoutedEventArgs e) { AdmissionAffichee admissionAffichee = dgListeAdmissions.SelectedItem as AdmissionAffichee; if (admissionAffichee != null) { // On retrouve l'admission choisie dans notre table Admissions Admission sAdmission = myBdd.Admissions.SingleOrDefault(a => a.IdAdmission == admissionAffichee.IdAdmission); if (sAdmission != null) { if (sAdmission.DateConge == null) { // On met la date d'aujourd'hui comme la date de congé et on libère le lit sAdmission.DateConge = DateTime.Today; sAdmission.Lit.Occupe = false; // On calcule la facture à payer double totalFacture = 0; double coutQuotidien = 0; if (sAdmission.ChambrePriveGratuit != true && sAdmission.Patient.AssurancePrive == null) { if (sAdmission.Lit.IdTypeLit == 2) { coutQuotidien += 267; } else if (sAdmission.Lit.IdTypeLit == 3) { coutQuotidien += 571; } } if (sAdmission.LocationTelephone == true) { coutQuotidien += 7.50; } if (sAdmission.LocationTeleviseur == true) { coutQuotidien += 42.50; } // Calcul des jours passés à l'hôpital et du total de la facture if (coutQuotidien > 0) { int Nbjours = (sAdmission.DateConge.Value.Date - sAdmission.DateAdmission.Date).Days; totalFacture = coutQuotidien * Nbjours; } // Sauvegarde des changements et affichage de la facture try { myBdd.SaveChanges(); MessageBox.Show("Le patient " + sAdmission.Patient.Nom.Trim() + " " + sAdmission.Patient.Prenom.Trim() + " a reçu son congé et le total de sa facture est: " + totalFacture + "$", "Congé", MessageBoxButton.OK, MessageBoxImage.Information); listerAdmissions(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Erreur d'enregistrement", MessageBoxButton.OK, MessageBoxImage.Error); } } else { MessageBox.Show("L'admission choisie était déjà fermée", "Alerte", MessageBoxButton.OK, MessageBoxImage.Warning); } } else { MessageBox.Show("Aucune admission n'est sélectionnée!", "Alerte", MessageBoxButton.OK, MessageBoxImage.Warning); } } else { MessageBox.Show("Aucune admission n'est sélectionnée!", "Alerte", MessageBoxButton.OK, MessageBoxImage.Warning); } } // btnDonnerConge_Click
public void afficherAdmission(Admission adm) { txtNAM.Text = adm.NumAssuranceMaladie; txtNomPatient.Text = adm.Patient.Nom; txtPrenom.Text = adm.Patient.Prenom; dpDateNaissance.SelectedDate = adm.Patient.DateNaissance; txtAge.Text = calculerAge(adm.Patient).ToString(); if (adm.Patient.AssurancePrive == null) { txtAssurancePrivee.Text = "Aucune"; } else { txtAssurancePrivee.Text = adm.Patient.CompagnieAssurance.NomCompagnie; } txtIdAdmission.Text = adm.IdAdmission.ToString(); dpDateDebutAdmission.SelectedDate = adm.DateAdmission; if (adm.DateConge != null) { dpDateConge.SelectedDate = adm.DateConge; } if (adm.ChirurgieProgramme == true) { txtChirurgieOuiNon.Content = "Oui"; dpDateChirurgie.SelectedDate = adm.DateChirurgie; } else { txtChirurgieOuiNon.Content = "Non"; } txtMedecin.Text = adm.Medecin.Prenom.Trim() + " " + adm.Medecin.Nom.Trim(); txtDepartement.Text = adm.Lit.Departement.NomDepartement; txtNumeroLit.Text = adm.idLit.ToString(); txtTypeChambre.Text = adm.Lit.TypeLit.TypeLitDescription; if (adm.ChambrePriveGratuit == true) { txtSurclassementGratuitOuiNon.Content = "Oui"; } else { txtSurclassementGratuitOuiNon.Content = "Non"; } if (adm.LocationTeleviseur == true) { txtLocationTvOuiNon.Content = "Oui"; } else { txtLocationTvOuiNon.Content = "Non"; } if (adm.LocationTelephone == true) { txtLocationTelephoneOuiNon.Content = "Oui"; } else { txtLocationTelephoneOuiNon.Content = "Non"; } } // afficherAdmission
public AfficherAdmission(Admission admission) { InitializeComponent(); afficherAdmission(admission); }
private void btnEnregistrerAdmission_Click(object sender, RoutedEventArgs e) { // On vérifie s'il y a des lits disponibles dans l'hôpital int nbreLits = calculerLitsTotalDispHopital(myBdd); if (nbreLits > 0) { if (cboNAM.SelectedItem != null) { Patient sPatient = (Patient)cboNAM.SelectedItem; string idPatient = sPatient.NumAssuranceMaladie; // Vérification si le patient choisi n'est pas hospitalisé présentement var resultat = (from adm in myBdd.Admissions where adm.NumAssuranceMaladie.Trim() == idPatient.Trim() && adm.DateConge == null select adm).FirstOrDefault(); if (resultat == null) // Il n'y a pas d'admission en cours pour le patient { // On declare les variables dont nous aurons besoin pour creer une nouvelle admission DateTime dateAdmission = (DateTime)dpDateDebutAdmission.SelectedDate; Nullable <DateTime> dateChirurgie = null; int age = calculerAge(sPatient); bool chirurgieProgrammee = false; int categorieLitChoisie, idLitAssigne; bool chambrePriveGratuit = false; bool locationTV = false; bool locationTelephone = false; // On choisit le departement int idDept = 5; // Par défault: 5 - Général dpt if (chChirurgiePrevue.IsChecked == true) { chirurgieProgrammee = true; idDept = 1; // 1 - ID de dept Chirurgie; if (dpDateChirurgie.SelectedDate != null) { dateChirurgie = (DateTime)dpDateChirurgie.SelectedDate; } } else if (age <= 16) { idDept = 2; // 2 - ID de dept Pédiatrie } else { Departement dept = (Departement)cboDepartement.SelectedItem; if (dept != null) { idDept = dept.IdDepartement; } } // On assigne un medecin string idMedecin = ""; Medecin medecin = (Medecin)cboMedecin.SelectedItem; if (medecin != null) { idMedecin = medecin.IdMedecin; } //On choisit un lit if (rbLitStandard.IsChecked == true) { categorieLitChoisie = 1; } else if (rbLitSemiPrive.IsChecked == true) { categorieLitChoisie = 2; } else { categorieLitChoisie = 3; } // On cherche un lit de la catégorie choisie dans le departement assigné Lit sLit = trouverLit(myBdd, categorieLitChoisie, idDept); // On vérifie le résultat de recherche if (sLit != null) { // Un lit est retrouvé, on vérifie si c'est de la même catégorie que désiré if (sLit.IdTypeLit != categorieLitChoisie && categorieLitChoisie == 1) { MessageBox.Show("La catégorie du lit assigné est différent de celle choisie. Surclassement gratuit", "Avertissement", MessageBoxButton.OK, MessageBoxImage.Information); chambrePriveGratuit = true; } sLit.Occupe = true; idLitAssigne = sLit.IdLit; if (chLocationTV.IsChecked == true) { locationTV = true; } if (chLocationTelephone.IsChecked == true) { locationTelephone = true; } // Verification si tous les champs obligatoires sont remplis bool ok = true; ok = dateAdmission == null ? false : true; ok = (chirurgieProgrammee == true && dateChirurgie == null) || !ok ? false : true; ok = sLit == null || medecin == null || !ok ? false : true; if (ok) { // On crée une nouvelle instance de la classe Admission Admission admission = new Admission() { ChirurgieProgramme = chirurgieProgrammee, DateAdmission = dateAdmission, DateChirurgie = dateChirurgie, DateConge = null, LocationTeleviseur = locationTV, LocationTelephone = locationTelephone, NumAssuranceMaladie = idPatient, idLit = idLitAssigne, idMedecin = idMedecin, ChambrePriveGratuit = chambrePriveGratuit }; // On ajoute la nouvelle admission à notre collection d'admissions myBdd.Admissions.Add(admission); // On sauvegarde les changement dans la BDD try { myBdd.SaveChanges(); // On cherche la nouvelle admission dans la BD pour afficher son numéro Admission admAjoutee = (from a in myBdd.Admissions where a.NumAssuranceMaladie == idPatient select a).FirstOrDefault(); if (admAjoutee != null) { MessageBox.Show("L'admission numéro " + admAjoutee.IdAdmission + " ajoutée avec succès", "Confirmation", MessageBoxButton.OK, MessageBoxImage.Information); // Affichage de la nouvelle admission AfficherAdmission fenetreAffAdm = new AfficherAdmission(admAjoutee); fenetreAffAdm.ShowDialog(); this.Close(); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Erreur d'enregistrement d'admission", MessageBoxButton.OK, MessageBoxImage.Error); } } else // Pas tous les chemps sont remplis { MessageBox.Show("Remplissez tous le champs obligatoires", "Avertissement", MessageBoxButton.OK, MessageBoxImage.Warning); } } else // Il n'y a aucun lit dans le departement choisi { // Donc on suggère de choisir un autre departement MessageBox.Show("Il n'y a aucun lit disponible dans le departement choisi. " + "Vous pouvez choisir un autre departement pour y placer le patient", "Avertissement", MessageBoxButton.OK, MessageBoxImage.Warning); } } else // Le patient est presentement hospitalisé { MessageBox.Show("Ajout d'admission impossible: le patient choisi est présentement hospitalisé", "Erreur", MessageBoxButton.OK, MessageBoxImage.Error); } } else // le patient n'est pas choisi { MessageBox.Show("Choisissez un patient pour ajouter une admission", "Alerte", MessageBoxButton.OK, MessageBoxImage.Warning); } } else // Il n'y pas de lit disponible dans tout l'hopital { MessageBox.Show("Ajout d'admission impossible: pas de lits disponibles", "Alerte", MessageBoxButton.OK, MessageBoxImage.Error); } } // bthEnregistrerAdmission_Click