예제 #1
0
        private void btnEnregistrer_Click(object sender, EventArgs e)
        {
            int  temp;
            bool erreur = false;

            for (int i = 0; i < dgvPersonnesARejoindre.Rows.Count - 1; ++i)
            {
                DataGridViewRow ligne = dgvPersonnesARejoindre.Rows[i];
                ligne.ErrorText = "";

                if (!(ligne.Tag is ModeFormulaire))
                {
                    continue;
                }

                if (!ValiderLigne(ligne))
                {
                    erreur = true;
                    continue;
                }

                LigneTable personneARejoindre = CreerNouvellePersonneARejoindre(ligne.Index);

                if ((ModeFormulaire)ligne.Tag == ModeFormulaire.AJOUT)
                {
                    RequeteAjout reqAjout = new RequeteAjout(NomTable.arejoindre, personneARejoindre);
                    if ((temp = Global.BaseDonneesCABS.EnvoyerRequeteAjout(reqAjout)) == -1)
                    {
                        ligne.ErrorText = "Une erreur est survenue lors de l'ajout de cette personne à rejoindre.";
                        erreur          = true;
                        continue;
                    }

                    ligne.Cells["Id"].Value = temp;
                }
                else if ((ModeFormulaire)ligne.Tag == ModeFormulaire.EDITION)
                {
                    RequeteModification reqModif = new RequeteModification(NomTable.arejoindre, new ConditionRequete(Operateur.EGAL, personneARejoindre.GetChamp("arjId")), personneARejoindre);
                    if ((temp = Global.BaseDonneesCABS.EnvoyerRequeteModification(reqModif)) <= 0)
                    {
                        ligne.ErrorText = "Une erreur est survenue lors de la modification de cette personne à rejoindre.";
                        erreur          = true;
                        continue;
                    }
                }
            }

            foreach (LigneTable ligne in PersonnesARejoindreASupprimer)
            {
                RequeteSuppression reqSup = new RequeteSuppression(NomTable.arejoindre, new ConditionRequete(Operateur.EGAL, ligne.GetChamp("arjId")));

                if ((temp = Global.BaseDonneesCABS.EnvoyerRequeteSuppression(reqSup)) <= 0)
                {
                    AjouterPersonnesARejoindre(ligne);
                    dgvPersonnesARejoindre.Rows[dgvPersonnesARejoindre.Rows.Count - 2].ErrorText = "Une erreur est survenue lors de la suppression de cette personne à rejoindre.";
                    erreur = true;
                }
            }

            PersonnesARejoindreASupprimer.Clear();

            if (!erreur)
            {
                btnEnregistrer.Enabled = btnAnnuler.Enabled = false;
            }
        }