Exemplo n.º 1
0
        /// <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();
            }
        }