/// <summary> /// Ouvre un MessageBox affichant un message relatif à la suppression d'un élément (article, marque, famille...). /// En fonction de l'action de l'utilisateur, supprime on non l'élément. /// </summary> private void OpenDeleteMenu() { string Message = "Default Message"; // Message affiché dans la TextBox MessageBoxButtons Buttons = MessageBoxButtons.YesNo; // Boutons de la TextBox // Si aucun élément n'est sélectionné, on s'arrête là if (ListView.SelectedItems.Count == 0) { return; } string SelectedItem = ListView.SelectedItems[0].Text; // Element selectionné dans la ListView /* CHOIX DU MESSAGE ET DES BOUTONS A AFFICHER */ // On veut supprimer un article if (ListViewDisplay == "ARTICLES") { Message = "Êtes vous sur de supprimer l'article [" + SelectedItem + "] ? \n" + "Cette action est irréversible."; } // On veut supprimer une famille else if (ListViewDisplay == "FAMILLES") { DAOArticle daoArticle = new DAOArticle(); List <Article> ListeArticles = daoArticle.GetAllArticles(); bool Found = false; for (int Index = 0; Index < ListeArticles.Count && !Found; Index++) { if (ListeArticles[Index].Famille == SelectedItem) { Found = true; } } if (!Found) { Message = "Êtes vous sur de supprimer la famille [" + SelectedItem + "] ? \n" + "Toutes les sous-familles seront supprimées. Cette action est irréversible."; } else { Message = "La famille [" + SelectedItem + "] est déjà assignée à plusieurs articles." + "Si vous voulez vraiment supprimer cette famille, modifiez ou supprimez ces articles au préalable."; Buttons = MessageBoxButtons.OK; } } // On veut supprimer une marque else if (ListViewDisplay == "MARQUES") { DAOArticle daoArticle = new DAOArticle(); List <Article> ListeArticles = daoArticle.GetArticlesWhereMarque(SelectedItem); if (ListeArticles.Count == 0) { Message = "Êtes vous sur de supprimer la marque [" + SelectedItem + "] ? \n" + "Cette action est irréversible."; } else { Message = "La marque [" + SelectedItem + "] est déjà assignée à plusieurs articles." + "Si vous voulez vraiment supprimer cette marque, modifiez ou supprimez ces articles au préalable."; Buttons = MessageBoxButtons.OK; } } // On veut supprimer une sous-familles else if (ListViewDisplay == "SOUSFAMILLES") { DAOArticle daoArticle = new DAOArticle(); List <Article> ListeArticles = daoArticle.GetArticlesWhereSousFamille(ListViewValue, SelectedItem); if (ListeArticles.Count == 0) { Message = "Êtes vous sur de supprimer la sous-famille [" + SelectedItem + "] ? \n" + "Cette action est irréversible."; } else { Message = "La sous-famille [" + SelectedItem + "] est déjà assignée à plusieurs articles." + "Si vous voulez vraiment supprimer cette sous-famille, modifiez ou supprimez ces articles au préalable."; Buttons = MessageBoxButtons.OK; } } // Si l'utiliseur choisit "Oui" ---> On supprime l'élément if (MessageBox.Show(Message, "Attention", Buttons) == DialogResult.Yes) { if (ListViewDisplay == "ARTICLES") { DAOArticle daoArticle = new DAOArticle(); daoArticle.DeleteArticle(SelectedItem); } else if (ListViewDisplay == "MARQUES") { DAOMarque daoMarque = new DAOMarque(); int RefMarque = daoMarque.GetRefMarque(SelectedItem); daoMarque.DeleteMarque(RefMarque); } else if (ListViewDisplay == "FAMILLES") { DAOFamille daoFamille = new DAOFamille(); int RefFamille = daoFamille.GetRefFamille(SelectedItem); daoFamille.DeleteFamille(RefFamille); } else if (ListViewDisplay == "SOUSFAMILLES") { DAOFamille daoFamille = new DAOFamille(); DAOSousFamille daoSousFamille = new DAOSousFamille(); int RefFamille = daoFamille.GetRefFamille(ListViewValue); int RefSousFamille = daoSousFamille.GetRefSousFamille(RefFamille, SelectedItem); daoSousFamille.DeleteSousFamille(RefSousFamille); } // On actualise l'affichage RefreshDisplay(); } }