/// <summary> /// fonction qui est executée lorsque l'utilisateur clique sur le bouton de supression du matériel /// Si le matériel a déjà été ajouté alors dans cette fonction on va accepder à la base de données pour le supprimer, sinon on cache juste le formulaire /// Les licences de version qui sont associées à ce matériel seront également supprimées. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSupp_Click(object sender, EventArgs e) { //Si le label concernant le numéro attribué au matériel est vide : if (this.lblNumMatAttribue.Text.Equals("")) { this.panel.Hide(); // on cache juste le formulaire } else { if (MessageBox.Show("Voulez-vous vraiment supprimer ce matériel ? Les licences associées à ce matériel seront également supprimées.", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { //nous allons devoir effectuer sa suppression dans la base de donnée : Mysql m = new Mysql(); try { m.suppMateriel(int.Parse(this.lblNumMatAttribue.Text)); //pour chaque formulaire de materiel for (int i = 0; i < this.frmParent.getListeFrmNvoMat().Count; i++) { //si le formulaire a été validé (le numero attribué est ecrit) if (!this.frmParent.getListeFrmNvoMat().ElementAt(i).getNum().Equals("")) { //pour chaque licence de duree for (int j = 0; j < this.frmParent.getListeFrmNvlLicDuree().Count; j++) { //si le formulaire a été validé (le numero attribué est ecrit) et si le numero du matériel est renseigné et est égale au numéro du materiel qu'on souhaite supprimer if (!this.frmParent.getListeFrmNvlLicDuree().ElementAt(j).getNum().Equals("") && this.frmParent.getListeFrmNvlLicDuree().ElementAt(j).getNumMatAssoc().Equals(this.frmParent.getListeFrmNvoMat().ElementAt(i).getNum())) { //on effectue la suppression de cette licence. this.frmParent.getListeFrmNvlLicDuree().ElementAt(j).btnSupp_Click(sender,e); } } //pour chaque licence de vrsion for (int k = 0; k < this.frmParent.getListeFrmNvlLicVersion().Count; k++) { //si le formulaire a été validé (le numero attribué est ecrit) et si le numero du matériel est renseigné et est égale au numéro du materiel qu'on souhaite supprimer if (!this.frmParent.getListeFrmNvlLicVersion().ElementAt(k).getNum().Equals("") && this.frmParent.getListeFrmNvlLicVersion().ElementAt(k).getNumMatAssoc().Equals(this.frmParent.getListeFrmNvoMat().ElementAt(i).getNum())) { //on effectue la suppression de cette licence. this.frmParent.getListeFrmNvlLicVersion().ElementAt(k).btnSupp_Click(sender, e); } } } } this.panel.Hide(); // on cache juste le formulaire } catch (Exception ex) { MessageBox.Show(ex.Message, "Echec", MessageBoxButtons.OK, MessageBoxIcon.Stop); } } } }
/// <summary> /// fonction qui se déclenche lorsque le bouton de suppression d'un matériel est cliqué. Permet de supprimer le matériel concerné de la base de données /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void btnSuppMat_Click(object sender, EventArgs e) { Mysql m = new Mysql(); List<Personne> lesP = m.getLesPersonne(); int idMat = int.Parse(this.tableLayoutMat.GetControlFromPosition(0, this.tableLayoutMat.GetCellPosition((Control)sender).Row).Text); try { List<Licence_duree> lesLicDur = m.getLesLicenceDuree(lesP.ElementAt(this.listBoxQui.SelectedIndex).getIdPersonne(), idMat); List<Licence_version> lesLicVersion = m.getLesLicenceVersion(lesP.ElementAt(this.listBoxQui.SelectedIndex).getIdPersonne(), idMat); //si il y a des licences de durée associées on va les supprimer for (int i = 0; i < lesLicDur.Count; i++) { m.suppLicDuree(lesLicDur.ElementAt(i).getIdLicence()); } //si il y des licences de version associées on va les supprimer for (int i = 0; i < lesLicVersion.Count; i++) { m.suppLicVersion(lesLicVersion.ElementAt(i).getIdLicence()); } m.suppMateriel(idMat); this.listBoxQui_SelectedIndexChanged(sender, e); } catch (Exception ex) { MessageBox.Show(ex.Message, "Echec", MessageBoxButtons.OK, MessageBoxIcon.Stop); } }