Exemplo n.º 1
0
        //Constructeur

        /// <summary>
        /// Lancement de l'importation
        /// </summary>
        /// <param name="Modale"> fenetre d'importation </param>
        public ImportButtonController(ModaleImporter Modale)
        {
            this.Modale = Modale;
            Modale.GetFormMain().GetLabelAjouter().Text = "";
            //si on a pas choisi un mode d'importation
            if (Modale.GetButtonsValue().Equals("") || Modale.GetPathToImport().Equals("") || Modale.GetPathToSave().Equals(""))
            {
                Modale.GetLabelImport().Text = "Veuillez choisir un mode d'intégration pour la base de données, un fichier .csv à importer et un fichier .sqlite dans lequel le fichier .csv sera importé.";
            }

            else
            {
                //import en mode ecrasement
                if (Modale.GetButtonsValue().Equals("Ecrasement"))
                {
                    Modale.GetLabelImport().Text        = "Import en mode Ecrasement en cours ...";
                    ImporterEcrasement ImportEcrasement = new ImporterEcrasement(Modale);
                }
                //import en mode ajout
                else if (Modale.GetButtonsValue().Equals("Ajout"))
                {
                    Modale.GetLabelImport().Text = "Import en mode Ajout en cours ...";
                    ImporterAjout ImportAjout    = new ImporterAjout(Modale);
                }

                //mise à jour de la treeView
                InitializeTreeView initializeTree = new InitializeTreeView(Modale.GetFormMain().GetTreeView());
                initializeTree.ConstructTree(Modale.GetPathToSave());

                //stockage du chemin de la bdd
                Modale.GetFormMain().SetPathToSave(Modale.GetPathToSave());

                //mise à jour du statusStrip
                ToolStatusStripController FamilleStripControl     = new ToolStatusStripController(Modale.GetFormMain().GetToolStatusStrip("Familles"));
                ToolStatusStripController ArticleStripControl     = new ToolStatusStripController(Modale.GetFormMain().GetToolStatusStrip("Article"));
                ToolStatusStripController SousFamilleStripControl = new ToolStatusStripController(Modale.GetFormMain().GetToolStatusStrip("SousFamilles"));
                ToolStatusStripController MarqueStripControl      = new ToolStatusStripController(Modale.GetFormMain().GetToolStatusStrip("Marques"));

                ArticlesDAO     ArticlesDAO     = new ArticlesDAO(Modale.GetPathToSave());
                MarquesDAO      MarquesDAO      = new MarquesDAO(Modale.GetPathToSave());
                FamillesDAO     FamillesDAO     = new FamillesDAO(Modale.GetPathToSave());
                SousFamillesDAO SousFamillesDAO = new SousFamillesDAO(Modale.GetPathToSave());

                ArticleStripControl.ChangeNumber(ArticlesDAO.CountAllArticles());
                FamilleStripControl.ChangeNumber(FamillesDAO.CountAllFamilles());
                SousFamilleStripControl.ChangeNumber(SousFamillesDAO.CountAllSousFamilles());
                MarqueStripControl.ChangeNumber(MarquesDAO.CountAllMarques());
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Permet de créer les noeuds des marques
        /// </summary>
        /// <param name="Path"> chemin vers la bdd SQLite </param>
        public void CreateMarquesNodes(string Path)
        {
            MarquesDAO marquesDAO = new MarquesDAO(Path);

            List <Marques> Marques = marquesDAO.GetAllMarques();

            Tree.BeginUpdate();
            Tree.Nodes[2].Nodes.Clear();
            foreach (Marques m in Marques)
            {
                Tree.Nodes[2].Nodes.Add(m.GetNom(), m.GetNom());
                Tree.Nodes[2].LastNode.Tag = m;
            }
            Tree.EndUpdate();
        }
Exemplo n.º 3
0
        /// <summary>
        /// Prend une liste d'article passee en parametre et remplit la ListView avec
        /// </summary>
        /// <param name="AllArticles"></param>
        public void FillListView(List <Articles> AllArticles)
        {
            SousFamillesDAO sfDAO = new SousFamillesDAO(PathBdd);
            MarquesDAO      mDAO  = new MarquesDAO(PathBdd);

            //ajout de chaque article dans la listView, chaque article correpond à un objet Item
            foreach (Articles a in AllArticles)
            {
                ListViewItem Item = new ListViewItem();
                Item.Tag  = a;
                Item.Text = a.GetRefArticle();
                Item.SubItems.Add(a.GetDescription());
                Item.SubItems.Add(sfDAO.GetFamilleNameBySousFamilleRef(a.GetRefSousFamille()));
                Item.SubItems.Add(sfDAO.GetNameByRef(a.GetRefSousFamille()));
                Item.SubItems.Add(mDAO.GetNameByRef(a.GetRefMarque()));
                Item.SubItems.Add(a.GetQuantite().ToString());

                List.Items.Add(Item);
            }

            // permet d'adapter la taille d'une colonne en fonction de son contenu
            List.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
            List.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Supprime l'item selectionne dans la listview, dans la treeview et dans la base de donnees si cela ne provoque pas de supression en cascade
        /// </summary>
        /// <param name="SelectedNode"></param>
        public void DeleteSelectedItem(TreeNode SelectedNode, FormMain Form)
        {
            ListViewItem    SelectedItem = this.List.SelectedItems[0];
            ArticlesDAO     aDAO         = new ArticlesDAO(PathBdd);
            SousFamillesDAO sfDAO        = new SousFamillesDAO(PathBdd);

            ToolStatusStripController TSSController;
            int nbArticles = 0;

            //on effectue la suppression en fonction de la classe de l'objet présent dans le Tag
            switch (SelectedItem.Tag)
            {
            case Articles a:
                this.List.Items.Remove(SelectedItem);
                aDAO.SupprimerArticle(a.GetRefArticle());

                //maj du status strip
                TSSController = new ToolStatusStripController(Form.GetToolStatusStrip("Article"));
                TSSController.ChangeNumber(aDAO.CountAllArticles());
                break;

            case Familles f:
                int nbSousFamilles = sfDAO.CountSousFamillesOfFamille(f.GetRefFamille());
                if (nbSousFamilles > 0)
                {
                    MessageBox.Show("Veuillez supprimer les sous-familles de cette famille au prealable.");
                }
                else
                {
                    this.List.Items.Remove(SelectedItem);
                    FamillesDAO fDAO = new FamillesDAO(PathBdd);
                    fDAO.SupprimerFamille(f.GetRefFamille());
                    SelectedNode.Nodes.RemoveByKey(f.GetNom());

                    //maj du statusStrip
                    TSSController = new ToolStatusStripController(Form.GetToolStatusStrip("Familles"));
                    TSSController.ChangeNumber(fDAO.CountAllFamilles());
                }
                break;

            case SousFamilles sf:
                nbArticles = aDAO.CountArticlesOfSousFamille(sf.GetRefSousFamille());
                if (nbArticles > 0)
                {
                    MessageBox.Show("Veuillez supprimer les articles de cette sous-famille au prealable.");
                }
                else
                {
                    this.List.Items.Remove(SelectedItem);
                    sfDAO.SupprimerSousFamille(sf.GetRefSousFamille());
                    SelectedNode.Nodes.RemoveByKey(sf.GetNom());

                    //maj du status strip
                    TSSController = new ToolStatusStripController(Form.GetToolStatusStrip("SousFamilles"));
                    TSSController.ChangeNumber(sfDAO.CountAllSousFamilles());
                }
                break;

            case Marques m:
                nbArticles = aDAO.CountArticlesOfMarques(m.GetRefMarque());
                if (nbArticles > 0)
                {
                    MessageBox.Show("Veuillez supprimer les articles de cette marque au prealable.");
                }
                else
                {
                    MarquesDAO mDAO = new MarquesDAO(PathBdd);
                    this.List.Items.Remove(SelectedItem);
                    mDAO.SupprimerMarques(m.GetRefMarque());
                    SelectedNode.Nodes.RemoveByKey(m.GetNom());

                    //maj du status strip
                    TSSController = new ToolStatusStripController(Form.GetToolStatusStrip("Marques"));
                    TSSController.ChangeNumber(mDAO.CountAllMarques());
                }
                break;

            default:
                break;
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Constructeur du bouton modifier des fenêtres de modification. Le String TypeModifier permet d'effectuer un traitement différent en fonction du type d'objet à modifier
        /// </summary>
        /// <param name="PathBdd"> Le chemin vers la base de données </param>
        /// <param name="ModifierForm"> Le formulaire de modification </param>
        /// <param name="TypeModifier"> Le String qui permet de déterminer quelles opérations faire </param>
        public ModifyButtonController(String PathBdd, Form ModifierForm, String TypeModifier)
        {
            if (TypeModifier.Equals("Marques"))
            {
                ModifierMarque Form = (ModifierMarque)ModifierForm;

                MarquesDAO MarquesD = new MarquesDAO(PathBdd);
                Form.GetFormMain().GetListView().SelectedItems[0].Text = Form.GetTextBox().Text;
                String NouveauNom = Form.GetTextBox().Text;
                MarquesD.ModifierNomMarques(Form.GetAncienNom(), NouveauNom);

                InitializeTreeView TreeViewInit = new InitializeTreeView(Form.GetFormMain().GetTreeView());
                TreeViewInit.ConstructTree(PathBdd);
            }

            if (TypeModifier.Equals("Familles"))
            {
                ModifierFamille Form = (ModifierFamille)ModifierForm;

                FamillesDAO FamillesD = new FamillesDAO(PathBdd);
                Form.GetFormMain().GetListView().SelectedItems[0].Text = Form.GetTextBox().Text;
                String NouveauNom = Form.GetTextBox().Text;
                FamillesD.ModifierNomFamilles(Form.GetAncienNom(), NouveauNom);

                InitializeTreeView TreeViewInit = new InitializeTreeView(Form.GetFormMain().GetTreeView());
                TreeViewInit.ConstructTree(PathBdd);
            }

            if (TypeModifier.Equals("SousFamilles"))
            {
                ModifierSousFamille Form = (ModifierSousFamille)ModifierForm;

                SousFamillesDAO SousFamillesD = new SousFamillesDAO(PathBdd);

                Form.GetFormMain().GetListView().SelectedItems[0].Text = Form.GetTextBox().Text;

                String NouveauNom = Form.GetTextBox().Text;
                SousFamillesD.ModifierSousFamilles(Form.GetAncienNom(), NouveauNom, (Familles)Form.GetComboBox().SelectedItem);

                ListViewController Controller = new ListViewController(Form.GetFormMain().GetListView(), PathBdd);
                Controller.LoadListView(Form.GetFormMain().GetTreeView().SelectedNode);

                InitializeTreeView TreeViewInit = new InitializeTreeView(Form.GetFormMain().GetTreeView());
                TreeViewInit.ConstructTree(PathBdd);
            }

            if (TypeModifier.Equals("Articles"))
            {
                ModifierArticle Form = (ModifierArticle)ModifierForm;

                ArticlesDAO     ArticlesD     = new ArticlesDAO(PathBdd);
                SousFamillesDAO SousFamillesD = new SousFamillesDAO(PathBdd);
                String          Famille       = SousFamillesD.GetFamilleNameBySousFamilleRef(((SousFamilles)Form.GetComboBoxSousFamille().SelectedItem).GetRefSousFamille());

                Form.GetFormMain().GetListView().SelectedItems[0].SubItems[1].Text = Form.GetTextBox().Text;
                Form.GetFormMain().GetListView().SelectedItems[0].SubItems[2].Text = Famille;
                Form.GetFormMain().GetListView().SelectedItems[0].SubItems[3].Text = Form.GetComboBoxSousFamille().SelectedItem.ToString();
                Form.GetFormMain().GetListView().SelectedItems[0].SubItems[4].Text = Form.GetComboBoxMarque().SelectedItem.ToString();
                Form.GetFormMain().GetListView().SelectedItems[0].SubItems[5].Text = Form.GetNumericUpDown().Value.ToString();

                String NouveauNom = Form.GetTextBox().Text;
                ArticlesD.ModifierArticle(Form.GetAncienNom(), NouveauNom, (SousFamilles)Form.GetComboBoxSousFamille().SelectedItem, (Marques)Form.GetComboBoxMarque().SelectedItem, (int)Form.GetNumericUpDown().Value);

                ListViewController Controller = new ListViewController(Form.GetFormMain().GetListView(), PathBdd);
                Controller.LoadListView(Form.GetFormMain().GetTreeView().SelectedNode);

                InitializeTreeView TreeViewInit = new InitializeTreeView(Form.GetFormMain().GetTreeView());
                TreeViewInit.ConstructTree(PathBdd);
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// Exportation
        /// </summary>
        public void Export()
        {
            Modale.GetLabelExport().Text = "Export en cours...";
            Modale.SetProgressBarValue(10);
            SQLiteConnection M_dbConnection = new SQLiteConnection("Data source =" + Modale.GetPathToExport());

            M_dbConnection.Open();

            String Sql = "select * from Articles";

            Console.WriteLine(Sql);

            Articles        Article;
            List <Articles> AllArticles = new List <Articles>();

            using (SQLiteCommand Command = new SQLiteCommand(Sql, M_dbConnection))
            {
                using (SQLiteDataReader Reader = Command.ExecuteReader())
                {
                    if (Reader.HasRows)
                    {
                        while (Reader.Read())
                        {
                            float Prix = float.Parse(Reader.GetString(4));
                            Article = new Articles(Reader.GetString(0), Reader.GetString(1), Reader.GetInt32(2), Reader.GetInt32(3), Prix, Reader.GetInt32(5));
                            AllArticles.Add(Article);
                        }
                    }
                    else
                    {
                        Console.WriteLine("La table articles est vide.");
                    }
                }
            }
            Modale.SetProgressBarValue(40);

            M_dbConnection.Close();

            string          Path         = Modale.GetPathToSave();
            string          Delimiter    = ";";
            SousFamillesDAO SousFamilleD = new SousFamillesDAO(Modale.GetPathToExport());
            MarquesDAO      MarqueD      = new MarquesDAO(Modale.GetPathToExport());

            Modale.SetProgressBarValue(70);
            for (int Index = 0; Index < AllArticles.Count; Index++)
            {
                if (!File.Exists(Path))
                {
                    // On écrit les headers
                    string Headers = "Description" + Delimiter + "Ref" + Delimiter + "Marque" + Delimiter + "Famille" + Delimiter + "Sous-Famille" + Delimiter + "Prix H.T." + Environment.NewLine;
                    File.WriteAllText(Path, Headers);
                }
                //On rentre les articles ligne par ligne mais on doit d'abord récupérer les noms des familles, sous familles et marques.
                string SousFamille = SousFamilleD.GetNameByRef(AllArticles[Index].GetRefSousFamille());
                string Famille     = SousFamilleD.GetFamilleNameBySousFamilleRef(AllArticles[Index].GetRefSousFamille());
                string Marque      = MarqueD.GetNameByRef(AllArticles[Index].GetRefMarque());
                string appendText  = AllArticles[Index].GetDescription() + Delimiter + AllArticles[Index].GetRefArticle() + Delimiter + Marque + Delimiter + Famille + Delimiter + SousFamille + Delimiter + AllArticles[Index].GetPrixHT() + Environment.NewLine;
                File.AppendAllText(Path, appendText);
            }
            Modale.SetProgressBarValue(100);
            Modale.GetLabelExport().Text = "Export terminé";
        }
Exemplo n.º 7
0
        /// <summary>
        /// Constructeur du bouton ajouter des fenêtres d'ajout. Le String TypeModifier permet d'effectuer un traitement différent en fonction du type d'objet à ajouter
        /// </summary>
        /// <param name="PathBdd"> Le chemin vers la base de données </param>
        /// <param name="AjouterForm"> Le formulaire d'ajout </param>
        /// <param name="TypeAjouter"> Le String qui permet de déterminer quelles opérations faire </param>
        public AddButtonController(String PathBdd, Form AjouterForm, String TypeAjouter)
        {
            ToolStatusStripController TSSController;

            if (TypeAjouter.Equals("Marques"))
            {
                AjouterMarque Form = (AjouterMarque)AjouterForm;

                MarquesDAO MarquesD   = new MarquesDAO(PathBdd);
                String     NouveauNom = Form.GetTextBox().Text;

                Marques Marque = new Marques(NouveauNom);
                MarquesD.AjouterMarque(Marque);

                InitializeTreeView TreeViewInit = new InitializeTreeView(Form.GetFormMain().GetTreeView());
                TreeViewInit.ConstructTree(PathBdd);

                ListViewController ListViewInit = new ListViewController(Form.GetFormMain().GetListView(), PathBdd);
                ListViewInit.LoadListView(Form.GetFormMain().GetTreeView().SelectedNode);

                //maj du status strip
                TSSController = new ToolStatusStripController(Form.GetFormMain().GetToolStatusStrip("Marques"));
                TSSController.ChangeNumber(MarquesD.CountAllMarques());
            }

            if (TypeAjouter.Equals("Familles"))
            {
                AjouterFamille Form = (AjouterFamille)AjouterForm;

                FamillesDAO FamillesD  = new FamillesDAO(PathBdd);
                String      NouveauNom = Form.GetTextBox().Text;

                Familles Famille = new Familles(NouveauNom);
                FamillesD.AjouterFamille(Famille);

                InitializeTreeView TreeViewInit = new InitializeTreeView(Form.GetFormMain().GetTreeView());
                TreeViewInit.ConstructTree(PathBdd);

                ListViewController ListViewInit = new ListViewController(Form.GetFormMain().GetListView(), PathBdd);
                ListViewInit.LoadListView(Form.GetFormMain().GetTreeView().SelectedNode);

                //maj du status strip
                TSSController = new ToolStatusStripController(Form.GetFormMain().GetToolStatusStrip("Familles"));
                TSSController.ChangeNumber(FamillesD.CountAllFamilles());
            }

            if (TypeAjouter.Equals("SousFamilles"))
            {
                AjouterSousFamille Form = (AjouterSousFamille)AjouterForm;

                SousFamillesDAO SousFamillesD = new SousFamillesDAO(PathBdd);
                String          NouveauNom    = Form.GetTextBox().Text;

                SousFamilles SousFamille = new SousFamilles(((Familles)Form.GetComboBox().SelectedItem).GetRefFamille(), NouveauNom);
                SousFamillesD.AjouterSousFamille(SousFamille);

                InitializeTreeView TreeViewInit = new InitializeTreeView(Form.GetFormMain().GetTreeView());
                TreeViewInit.ConstructTree(PathBdd);

                ListViewController ListViewInit = new ListViewController(Form.GetFormMain().GetListView(), PathBdd);
                ListViewInit.LoadListView(Form.GetFormMain().GetTreeView().SelectedNode);

                //maj du status strip
                TSSController = new ToolStatusStripController(Form.GetFormMain().GetToolStatusStrip("SousFamilles"));
                TSSController.ChangeNumber(SousFamillesD.CountAllSousFamilles());
            }

            if (TypeAjouter.Equals("Articles"))
            {
                AjouterArticle Form = (AjouterArticle)AjouterForm;

                ArticlesDAO     ArticlesD     = new ArticlesDAO(PathBdd);
                SousFamillesDAO SousFamillesD = new SousFamillesDAO(PathBdd);

                Random        aleatoire  = new Random();
                int           Nombre     = aleatoire.Next(9999999);
                String        RefArticle = "F" + Nombre;
                List <String> Refs       = ArticlesD.GetAllArticlesRef();
                while (Refs.Contains(RefArticle))
                {
                    Nombre     = aleatoire.Next(9999999);
                    RefArticle = "F" + Nombre;
                }

                String Description    = Form.GetTextBox().Text;
                int    RefSousFamille = ((SousFamilles)Form.GetComboBoxSousFamille().SelectedItem).GetRefSousFamille();
                int    RefMarque      = ((Marques)Form.GetComboBoxMarque().SelectedItem).GetRefMarque();
                float  PrixHT         = (float)Form.GetNumericUpDownPrix().Value;
                int    Quantite       = (int)Form.GetNumericUpDown().Value;

                Articles Article = new Articles(RefArticle, Description, RefSousFamille, RefMarque, PrixHT, Quantite);

                ArticlesD.AjouterArticle(Article);

                InitializeTreeView TreeViewInit = new InitializeTreeView(Form.GetFormMain().GetTreeView());
                TreeViewInit.ConstructTree(PathBdd);

                ListViewController ListViewInit = new ListViewController(Form.GetFormMain().GetListView(), PathBdd);
                ListViewInit.LoadListView(Form.GetFormMain().GetTreeView().SelectedNode);

                //maj du status strip
                TSSController = new ToolStatusStripController(Form.GetFormMain().GetToolStatusStrip("Article"));
                TSSController.ChangeNumber(ArticlesD.CountAllArticles());
            }
        }