예제 #1
0
        private void Valider()
        {
            etudiantRow.sexe_etudiant = EtudiantManager.GetGenre(comboBoxSexeEtudiant.Text);

            if (id == -1)
            {
                EtudiantManager.AddEtudiant(etudiantRow);
            }
            else
            {
                if (!etudiantRow.statut_etudiant)
                {
                    var Result = MessageBox.Show("Etes-vous sûr de vouloir inactiver l'étudiant n°" + etudiantRow.etudiant_id + "? S'il a communiqué des périodes de disponibilité à venir, elles vont être supprimées",
                                                 "Veuillez confirmer", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                    if (Result == DialogResult.OK)
                    {
                        List <Connectds.periodeRow> periodeList = new List <Connectds.periodeRow>();
                        periodeList = EtudiantManager.GetPeriodeList(etudiantRow.etudiant_id);
                        if (periodeList != null)
                        {
                            foreach (var periode in periodeList)
                            {
                                if (periode.debut_periode >= DateTime.Now)
                                {
                                    EtudiantManager.DeletePeriode(periode.periode_id);
                                }
                            }
                        }
                    }
                }
                EtudiantManager.SaveEtudiant(etudiantRow);
            }
        }
예제 #2
0
        /// <summary>
        /// Permet la suppression d'un profil étudiant et de ses périodes de disponibilité
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonDeleteEtudiant_Click(object sender, EventArgs e)
        {
            int value;

            Int32.TryParse(comboBoxListEtudiant.SelectedValue.ToString(), out value);

            // Protection de l'id de l'étudiant par défaut
            if (value == 1)
            {
                MessageBox.Show("Ligne protégée pour la stabilité de l'application", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                var Result = MessageBox.Show("Etes-vous sûr de vouloir supprimer l'étudiant n°" + value.ToString() + "?", "Veuillez confirmer:", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                if (Result == DialogResult.OK)
                {
                    // la variable checkJob va permettre de conserver l'information booléenne quant aux attributions de job de l'étudiant en dehors de la boucle foreach
                    bool checkJob = false;
                    Connectds.jobDataTable jobDT = EntrepriseManager.GetJobDT();
                    foreach (Connectds.jobRow jobRow in jobDT)
                    {
                        if (value == jobRow.etudiant_id)
                        {
                            var Result2 = MessageBox.Show("L'étudiant n°" + value.ToString() + " a des attributions de jobs actives. Vous ne pouvez le supprimer. Souhaitez-vous rendre son profil inactif?", "Veuillez préciser:", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                            if (Result2 == DialogResult.Yes)
                            {
                                etudiantSelectionne = EtudiantManager.GetEtudiant(value);
                                etudiantSelectionne.statut_etudiant = false; // le statut devient inactif
                                EtudiantManager.SaveEtudiant(etudiantSelectionne);
                                PopulateAndBind();
                            }
                            checkJob = true;
                            break;
                        }
                    }
                    if (!checkJob)
                    {
                        List <Connectds.periodeRow> periodeList = new List <Connectds.periodeRow>();
                        periodeList = EtudiantManager.GetPeriodeList(value);
                        if (periodeList != null)
                        {
                            foreach (var periode in periodeList)
                            {
                                EtudiantManager.DeletePeriode(periode.periode_id);
                            }
                        }
                        EtudiantManager.DeleteEtudiant(value);
                        PopulateAndBind();
                    }
                }
            }
        }
예제 #3
0
 private void PopulateAndBind()
 {
     //Si l'étudiant est nouvellement créé, cette condition permet de récupérer son id.
     //Sinon, l'id passée en paramètre avec le constructeur est à -1
     if (etudiantId == -1)
     {
         Connectds.etudiantDataTable dt = new Connectds.etudiantDataTable();
         dt          = EtudiantManager.GetEtudiantDT();
         etudiantRow = dt.Last <Connectds.etudiantRow>();
         etudiantId  = etudiantRow.etudiant_id;
     }
     dataGridViewPeriode.DataSource = EtudiantManager.GetPeriodeList(etudiantId);
     textBoxIdEtudiant.Text         = etudiantId.ToString();
     etudiantRow     = EtudiantManager.GetEtudiant(etudiantId);
     textBoxNom.Text = etudiantRow.prenom_etudiant + " " + etudiantRow.nom_etudiant;
 }
예제 #4
0
 private void PopulateAndBind(DateTime debut, DateTime fin)
 {
     dataGridViewRechercheEtudiant.DataSource = EtudiantManager.GetPeriodeList(debut, fin);
 }