Esempio n. 1
0
        /**
         * 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;
            }
        }