示例#1
0
        /// <summary>
        /// fonction executée lorsque l'utilisateur valide son formulaire. Elle effectue un enregistrement de ce matériel dans la base de données
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAjouter_Click(object sender, EventArgs e)
        {
            Mysql m = new Mysql();
            List<Personne> lesPers = m.getLesPersonne();

            //on remplis le tableau associatif avec les données :
            Hashtable ht = new Hashtable();
            ht.Add("marque", this.cBoxMarque.Text);
            ht.Add("type", this.cBoxType.Text);
            ht.Add("date", this.dateTimePicker2.Value.Year + "/" + this.dateTimePicker2.Value.Month + "/" + this.dateTimePicker2.Value.Day);
            ht.Add("garantie", this.garantieMat.Value);
            ht.Add("id_pers", lesPers.ElementAt(this.frmParent.getListBox().SelectedIndex).getIdPersonne());

            //on essaye d'effectuer l'ajout du matériel
            try
            {
                String num = m.ajouterMateriel(ht).ToString(); //on effectue la création dans la base de donnée (on va récupèrer l'identifiant attribué au matériel)
                this.lblNumMatAttribue.Text = num; //on affiche l'identifiant attribué dans le label spécifé juste devant le formulaire de saisie
                this.btnAjouter.Hide(); //on cache le bouton ajouter pour pas ajouter deux fois le même matériel
                MessageBox.Show("Le matériel a bien été ajouté.", "Succès", MessageBoxButtons.OK, MessageBoxIcon.Information);

                //on récupère la liste des Controls du formulaire qu'on vient de valider pour les désactiver (évider la modification du contenu)
                System.Windows.Forms.Control.ControlCollection lesControls = this.panel.Controls;

                //pour chaque controle on vérifie si ce n'est pas le bouton supprimé et si c'est pas le label qui affiche le numéro attribué puis si la condition est respectée on désactive le controle.
                for (int i = 0; i < lesControls.Count; i++)
                {
                    if (!lesControls[i].Name.Equals("btnSupp") && !lesControls[i].Name.Equals("lblNumMatAttribue"))
                    {
                        lesControls[i].Enabled = false;
                    }
                }
            }
            catch (Exception ex)
            {
                //on va affiché la nature de l'erreur qui a causé l'échec de l'ajout du nouveau matériel
                MessageBox.Show(ex.Message, "Echec", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
        }