/** * Remove an element (article, family, subfamily, brand) **/ private void removeObject() { // get selected node of treeview String selectedNodeText = treeView1.SelectedNode.Text; // get selected item ListView.SelectedListViewItemCollection itemSelected = this.listView.SelectedItems; // action on item switch (selectedNodeText) { case "Articles": foreach (ListViewItem item in itemSelected) { Article article = listView.SelectedItems[0].Tag as Article; if (article != null) { Console.WriteLine("remove article " + article.RefArticle + " : " + article.Description); refreshStatusStrip("Suppression de l'article " + article.RefArticle + " : " + article.Description + "."); using (new CenterWinDialog(this)) { var confirmResult = MessageBox.Show("Voullez-vous vraiment supprimer l'article " + article.RefArticle + " : " + article.Description + " ?", "Confirmation de suppression", MessageBoxButtons.YesNo); if (confirmResult == DialogResult.Yes) { Console.WriteLine("deleted article"); magasin.ArticleDao.deleteArticle(article.RefArticle); refreshStatusStrip("L'article " + article.RefArticle + " : " + article.Description + " a été supprimé."); refresh(); } else { Console.WriteLine("removal canceled"); } } } } break; case "Familles": foreach (ListViewItem item in itemSelected) { Famille family = listView.SelectedItems[0].Tag as Famille; if (family != null) { Console.WriteLine("remove family " + family.RefFamille + " : " + family.Nom); refreshStatusStrip("Suppression de la famille " + family.RefFamille + " : " + family.RefFamille + "."); using (new CenterWinDialog(this)) { var confirmResult = MessageBox.Show("Voullez-vous vraiment supprimer la famille " + family.RefFamille + " : " + family.Nom + " ?", "Confirmation de suppression", MessageBoxButtons.YesNo); if (confirmResult == DialogResult.Yes) { int nbArticles = magasin.getArticlesByFamily(family.RefFamille).Count; int nbSubFamilies = magasin.getSubFamiliesByFamily(family.RefFamille).Count; if (nbArticles > 0 || nbSubFamilies > 0) { using (new CenterWinDialog(this)) { var confirmDelete = MessageBox.Show("La famille compte " + nbSubFamilies + " sous-famille(s) et " + nbArticles + " article(s). Cette opération supprimera ces sous-familles et ces articles. Voullez-vous vraiment supprimer la famille " + family.RefFamille + " : " + family.Nom + " ?", "Attention, suppression en cascade !!!", MessageBoxButtons.YesNo); if (confirmDelete != DialogResult.Yes) { Console.WriteLine("removal canceled"); break; } } } Console.WriteLine("deleted family"); magasin.FamilleDao.deleteFamille(family.RefFamille); refreshStatusStrip("La famille " + family.RefFamille + " : " + family.Nom + " a été supprimée."); refresh(); } else { Console.WriteLine("removal canceled"); } } } } break; case "Sous familles": foreach (ListViewItem item in itemSelected) { SousFamille subFamily = listView.SelectedItems[0].Tag as SousFamille; if (subFamily != null) { Console.WriteLine("remove subFamily " + subFamily.RefFamille + " : " + subFamily.Nom); refreshStatusStrip("Suppression de la sous famille " + subFamily.RefSousFamille + " : " + subFamily.Nom + "."); using (new CenterWinDialog(this)) { var confirmResult = MessageBox.Show("Voullez-vous vraiment supprimer la sous-famille " + subFamily.RefFamille + " : " + subFamily.Nom + " ?", "Confirmation de suppression", MessageBoxButtons.YesNo); if (confirmResult == DialogResult.Yes) { int nbArticles = magasin.getArticlesBySubFamily(subFamily.RefSousFamille).Count; if (nbArticles > 0) { using (new CenterWinDialog(this)) { var confirmDelete = MessageBox.Show("La famille compte " + nbArticles + " article(s). Cette opération supprimera ces articles. Voullez-vous vraiment supprimer la sous famille " + subFamily.RefFamille + " : " + subFamily.Nom + " ?", "Attention, suppression en cascade !!!", MessageBoxButtons.YesNo); if (confirmDelete != DialogResult.Yes) { Console.WriteLine("removal canceled"); break; } } } Console.WriteLine("deleted subfamily"); magasin.SousFamilleDao.deleteSousFamille(subFamily.RefSousFamille); refreshStatusStrip("La sous-famille " + subFamily.RefSousFamille + " : " + subFamily.Nom + " a été supprimée."); refresh(); } else { Console.WriteLine("removal canceled"); } } } } break; case "Marques": foreach (ListViewItem item in itemSelected) { Marque brand = listView.SelectedItems[0].Tag as Marque; if (brand != null) { Console.WriteLine("remove brand " + brand.RefMarque + " : " + brand.Nom); refreshStatusStrip("Suppression de la marque " + brand.RefMarque + " : " + brand.Nom + "."); using (new CenterWinDialog(this)) { var confirmResult = MessageBox.Show("Voullez-vous vraiment supprimer la marque " + brand.RefMarque + " : " + brand.Nom + " ?", "Confirmation de suppression", MessageBoxButtons.YesNo); if (confirmResult == DialogResult.Yes) { int nbArticles = magasin.getArticlesByBrand(brand.RefMarque).Count; if (nbArticles > 0) { using (new CenterWinDialog(this)) { var confirmDelete = MessageBox.Show("La marque compte " + nbArticles + " article(s). Cette opération supprimera ces articles. Voullez-vous vraiment supprimer la marque " + brand.RefMarque + " : " + brand.Nom + " ?", "Attention, suppression en cascade !!!", MessageBoxButtons.YesNo); if (confirmDelete != DialogResult.Yes) { Console.WriteLine("removal canceled"); break; } } } Console.WriteLine("deleted brand"); magasin.MarqueDao.deleteMarque(brand.RefMarque); refreshStatusStrip("La marque " + brand.RefMarque + " : " + brand.Nom + " a été supprimée."); refresh(); } else { Console.WriteLine("removal canceled"); } } } } break; default: Console.WriteLine("nothing selected"); break; } }