예제 #1
0
 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);
         }
     }
 }
예제 #2
0
        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);
        }
예제 #3
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");
                    }
                }
            }
        }