private void CB_touseleve_CheckedChanged(object sender, EventArgs e) { if (CB_touseleve.Checked == true) { TB_prenom.Clear(); TB_prenom.Enabled = false; TB_nom.Clear(); TB_nom.Enabled = false; label_nbeleve.Visible = true; label_nb.Visible = true; for (int i = 0; i < LB_selecteleve.Items.Count; i++) { LB_selecteleve.SetItemChecked(i, true); } } else { TB_prenom.Enabled = true; TB_nom.Enabled = true; label_nbeleve.Visible = false; label_nb.Visible = false; for (int i = 0; i < LB_selecteleve.Items.Count; i++) { LB_selecteleve.SetItemChecked(i, false); } } }
private int trouverIdEleve() { int indicecocher = 0; for (int i = 0; i < LB_selecteleve.Items.Count; i++) { if (LB_selecteleve.GetItemChecked(i)) { indicecocher = i; } } foreach (KeyValuePair <int, Utilisateur> eleve in dicoutilisateurs) { if (eleve.Key == indicecocher + 1) { return(eleve.Value.IDU); } } return(0); }
private void btn_inscrire_Click(object sender, EventArgs e) { bool adejaactivite = false; bool adejaspectacle = false; int idA = 0; int cledicoselect = -1; Activite acti = new Activite(); List <Utilisateur> lesusersdejapris = new List <Utilisateur>(); List <Utilisateur> lesusersdejaspectacle = new List <Utilisateur>(); foreach (KeyValuePair <int, Activite> activite in dicoactivites) // Permet de trouver l'id de l'activité sélectionnée { if (activite.Key == LB_selectactivite.SelectedIndex + 1) { idA = activite.Value.Id; cledicoselect = LB_selectactivite.SelectedIndex + 1; break; } } if (LB_selecteleve.CheckedItems.Count == 0) // Test si il y a au moins un élève de sélectionné { MessageBox.Show("Veuillez sélectionner un élève ou une classe", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (LB_selectactivite.SelectedIndex == -1) // Test si il y a une activité de sélectionnée { MessageBox.Show("Veuillez sélectionner une activité", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (inscription == false) // Test si il ne s'agit pas de la fonctionnalité retrait d'un élève { if (LB_selecteleve.CheckedItems.Count == 1) { Controleur.retirerActivite(trouverIdActivite(), trouverIdEleve()); filtrerActivite(); } else { if (LB_selecteleve.CheckedItems.Count == LB_selecteleve.Items.Count) { List <int> leseleves = new List <int>(); foreach (KeyValuePair <int, Utilisateur> eleve in dicoutilisateurs) { leseleves.Add(eleve.Value.IDU); } Controleur.retirerActivite(trouverIdActivite(), leseleves); } else { List <int> leseleves = new List <int>(); for (int i = 0; i < LB_selecteleve.Items.Count; i++) { if (LB_selecteleve.GetItemChecked(i)) { foreach (KeyValuePair <int, Utilisateur> user in dicoutilisateurs) { if (user.Key == i + 1) { leseleves.Add(user.Value.IDU); } } } } Controleur.retirerActivite(trouverIdActivite(), leseleves); } } } else if (nbplaceok(LB_selecteleve.CheckedItems.Count, idA) == false) { MessageBox.Show("Pas assez de place(s) dans l'activité", "Inscription impossible", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { if (LB_selecteleve.CheckedItems.Count > 1) { List <int> lesids = new List <int>(); if (LB_selecteleve.CheckedItems.Count == LB_selecteleve.Items.Count) //Si tous les élèves dans la listbox sont sélectionnés { foreach (KeyValuePair <int, Utilisateur> eleve in dicoutilisateurs) { lesids.Add(eleve.Value.IDU); } foreach (int i in lesids) { bool elevepris = false; // Si l'élève à une activité pendant cette période (empêcher les doublons lors des messages d'erreur) List <Activite> lesactivitesinscrit = acti.initActivitesEleve(i); foreach (Activite activite in lesactivitesinscrit) { MessageBox.Show("date : " + activite.Heuredebut.ToLongDateString()); if (activite.Heuredebut.ToLongDateString() == dicoactivites[cledicoselect].Heuredebut.ToLongDateString()) { if ((activite.Heuredebut < dicoactivites[cledicoselect].Heurefin && activite.Heurefin < dicoactivites[cledicoselect].Heuredebut) || (activite.Heuredebut > dicoactivites[cledicoselect].Heurefin && activite.Heurefin > dicoactivites[cledicoselect].Heuredebut)) { } else { adejaactivite = true; foreach (KeyValuePair <int, Utilisateur> eleve in dicoutilisateurs) { if (eleve.Value.IDU == i) { lesusersdejapris.Add(eleve.Value); elevepris = true; break; } } } } if (letype.getLibelleType(activite.IdType) == "Spectacle" && letype.getLibelleType(dicoactivites[cledicoselect].IdType) == "Spectacle") { adejaspectacle = true; foreach (KeyValuePair <int, Utilisateur> eleve in dicoutilisateurs) { if (eleve.Value.IDU == i) { lesusersdejaspectacle.Add(eleve.Value); } } } if (elevepris == true) { break; } } } if (adejaactivite == true) { string listelevedejapris = ""; foreach (Utilisateur u in lesusersdejapris) { listelevedejapris += "\n" + u.NomU + " " + u.PrenomU; } MessageBox.Show("Parmi le ou les élève(s) sélectionné(s), il y a un ou plusieurs élève(s) qui a ou ont déja une activité pendant cet horaire :" + listelevedejapris, "Inscription impossible"); } if (adejaspectacle == true) { string listelevespectacle = ""; foreach (Utilisateur u in lesusersdejaspectacle) { listelevespectacle += "\n" + u.NomU + " " + u.PrenomU; } MessageBox.Show("Parmi le ou les élève(s) sélectionné(s), il y a un ou plusieurs élève(s) qui a ou ont déja un spectacle :" + listelevespectacle, "Inscription impossible"); } if (adejaactivite != true && adejaspectacle != true) { Controleur.ajouterElevesActivite(lesids, idA); } } else { for (int i = 0; i < LB_selecteleve.Items.Count; i++) { if (LB_selecteleve.GetItemChecked(i) == true) { foreach (KeyValuePair <int, Utilisateur> y in dicoutilisateurs) { i++; if (i == y.Key) { lesids.Add(y.Value.IDU); } i--; } } } foreach (int i in lesids) { bool elevepris = false; // Si l'élève à une activité pendant cette période (empêcher les doublons lors des messages d'erreur) List <Activite> lesactivitesinscrit = acti.initActivitesEleve(i); foreach (Activite activite in lesactivitesinscrit) { if (activite.Heuredebut.ToLongDateString() == dicoactivites[cledicoselect].Heuredebut.ToLongDateString()) { if ((activite.Heuredebut < dicoactivites[cledicoselect].Heurefin && activite.Heurefin < dicoactivites[cledicoselect].Heuredebut) || (activite.Heuredebut > dicoactivites[cledicoselect].Heurefin && activite.Heurefin > dicoactivites[cledicoselect].Heuredebut)) { } else { adejaactivite = true; foreach (KeyValuePair <int, Utilisateur> eleve in dicoutilisateurs) { if (eleve.Value.IDU == i) { lesusersdejapris.Add(eleve.Value); elevepris = true; break; } } } } if (letype.getLibelleType(activite.IdType) == "Spectacle" && letype.getLibelleType(dicoactivites[cledicoselect].IdType) == "Spectacle") { adejaspectacle = true; foreach (KeyValuePair <int, Utilisateur> eleve in dicoutilisateurs) { if (eleve.Value.IDU == i) { lesusersdejaspectacle.Add(eleve.Value); } } } if (elevepris == true) { break; } } } if (adejaactivite == true) { string listelevedejapris = ""; foreach (Utilisateur u in lesusersdejapris) { listelevedejapris += "\n" + u.NomU + " " + u.PrenomU; } MessageBox.Show("Parmi le ou les élève(s) sélectionné(s), il y a un ou plusieurs élève(s) qui a ou ont déja une activité pendant cet horaire :" + listelevedejapris, "Inscription impossible"); } if (adejaspectacle == true) { string listelevespectacle = ""; foreach (Utilisateur u in lesusersdejaspectacle) { listelevespectacle += "\n" + u.NomU + " " + u.PrenomU; } MessageBox.Show("Parmi le ou les élève(s) sélectionné(s), il y a un ou plusieurs élève(s) qui a ou ont déja un spectacle :" + listelevespectacle, "Inscription impossible"); } if (adejaactivite != true && adejaspectacle != true) { Controleur.ajouterElevesActivite(lesids, trouverIdActivite()); } } } else { bool estdejainscrit = false; List <Activite> lesactivitesinscrit = acti.initActivitesEleve(trouverIdEleve()); foreach (Activite activite in lesactivitesinscrit) { if (activite.Heuredebut < dicoactivites[cledicoselect].Heurefin && activite.Heurefin <dicoactivites[cledicoselect].Heuredebut || activite.Heuredebut> dicoactivites[cledicoselect].Heurefin && activite.Heurefin > dicoactivites[cledicoselect].Heuredebut) { } else { estdejainscrit = true; } if (letype.getLibelleType(activite.IdType) == "Spectacle" && letype.getLibelleType(dicoactivites[cledicoselect].IdType) == "Spectacle") { adejaspectacle = true; } } if (estdejainscrit != true && adejaspectacle != true) { Controleur.ajouterEleveActivite(trouverIdActivite(), trouverIdEleve()); } else if (estdejainscrit == true) { MessageBox.Show("Eleve déja inscrit à une activité pendant cette période", "Inscription impossible"); } else if (adejaspectacle == true) { MessageBox.Show("L'élève sélectionné est déja inscrit un spectacle", "Inscription impossible"); } } } }