public ModelListController()
 {
     ArticleDao     = new ArticlesDao();
     MarqueDao      = new MarquesDao();
     FamilleDao     = new FamillesDao();
     SousFamilleDao = new SousFamillesDao();
 }
Пример #2
0
        /// <summary>
        /// The ViewModel constructor.
        /// </summary>
        /// <param name="Type"></param>
        /// <param name="Classe"></param>
        /// <param name="RefArticle"></param>
        public AjouterModifierViewModel(String Type, String Classe, int Reference)
        {
            View = new AjouterModifierView(this, Classe, Type);

            if (Type.Equals("Modifier"))
            {
                if (Classe.Equals("Familles"))
                {
                    FamillesModel CurrentFamille = FamillesDao.SelectByID(Reference);
                    View.SetDescriptionFamille(CurrentFamille);
                    ReferenceVM = Reference;
                }
                else if (Classe.Equals("SousFamilles"))
                {
                    SousFamillesModel CurrentSousFamille = SousFamillesDao.SelectByID(Reference);
                    Modif = (SousFamillesDao.SelectByID(Reference)).Famille;
                    View.SetDescriptionSousFamille(CurrentSousFamille);
                    ReferenceVM = Reference;
                }
                else
                {
                    MarquesModel CurrentMarque = MarquesDao.SelectByID(Reference);
                    View.SetDescriptionMarque(CurrentMarque);
                    ReferenceVM = Reference;
                }
            }
        }
Пример #3
0
 public ArticlesController()
 {
     ArticlesDao     = new ArticlesDao();
     SousFamillesDao = new SousFamillesDao();
     MarquesDao      = new MarquesDao();
     FamillesDao     = new FamillesDao();
 }
Пример #4
0
        /// <summary>
        /// Method used to group by Marque.
        /// </summary>
        public void SortByMarque()
        {
            List <MarquesModel> Marques = MarquesDao.SelectAll();
            int    Index = 0;
            string Data;

            ListToDisplay.Groups.Clear();

            foreach (MarquesModel Marque in Marques)
            {
                ListToDisplay.Groups.Add(new ListViewGroup(Marque.Nom, HorizontalAlignment.Left));

                foreach (ListViewItem Item in ListToDisplay.Items)
                {
                    Data = Item.SubItems[3].Text;

                    if (Data == Marque.Nom)
                    {
                        Item.Group = ListToDisplay.Groups[Index];
                    }
                }

                ++Index;
            }
        }
Пример #5
0
 /// <summary>
 /// The constructor of AddMarque.
 /// </summary>
 public AddMarque()
 {
     InitializeComponent();
     this.MarqueDao             = new MarquesDao();
     this.FamilleController     = new FamillesController();
     this.MarqueController      = new MarquesController();
     this.SousFamilleController = new SousFamillesController();
 }
Пример #6
0
 /// <summary>
 /// The constructor of ModifyMarque.
 /// </summary>
 /// <param name="MarqueName"></param>
 public ModifyMarque(string MarqueName)
 {
     InitializeComponent();
     this.label_Marque_Name.Text = MarqueName;
     this.MarqueDao             = new MarquesDao();
     this.FamilleController     = new FamillesController();
     this.MarqueController      = new MarquesController();
     this.SousFamilleController = new SousFamillesController();
 }
Пример #7
0
 /// <summary>
 /// The constructor of AddArticle.
 /// </summary>
 public AddArticle()
 {
     InitializeComponent();
     this.ModelList             = new ModelList();
     this.ArticleDao            = new ArticlesDao();
     this.MarqueDao             = new MarquesDao();
     this.ArticleController     = new ArticlesController();
     this.MarqueController      = new MarquesController();
     this.FamilleController     = new FamillesController();
     this.SousFamilleController = new SousFamillesController();
 }
Пример #8
0
        /// <summary>
        /// Method used to initialize components.
        /// </summary>
        public void Init(TreeView Tree)
        {
            List <FamillesModel>     Familles = FamillesDao.SelectAll();
            List <MarquesModel>      Marques  = MarquesDao.SelectAll();
            List <SousFamillesModel> SousFamilles;
            int Index    = 0;
            int SubIndex = 0;

            Tree.Nodes.Clear();

            if (MainWindow != null && MainWindow.ListToDisplay != null)
            {
                MainWindow.ListToDisplay.Clear();
            }

            Tree.BeginUpdate();

            Tree.Nodes.Add(new TreeNode("Tous les articles"));
            Tree.Nodes.Add(new TreeNode("Familles"));
            Tree.Nodes.Add(new TreeNode("Marques"));

            Tree.Nodes[0].Name = "Articles";
            Tree.Nodes[1].Name = "Familles";
            Tree.Nodes[2].Name = "Marques";

            foreach (FamillesModel Famille in Familles)
            {
                Tree.Nodes[1].Nodes.Add(new TreeNode(Famille.Nom));
                Tree.Nodes[1].Nodes[Index].Name = Famille.RefFamille.ToString();
                SousFamilles = SousFamillesDao.SelectByFamille(Famille.RefFamille);

                SubIndex = 0;

                foreach (SousFamillesModel SousFamille in SousFamilles)
                {
                    Tree.Nodes[1].Nodes[Index].Nodes.Add(new TreeNode(SousFamille.Nom));
                    Tree.Nodes[1].Nodes[Index].Nodes[SubIndex++].Name = SousFamille.RefSousFamille.ToString();
                }

                ++Index;
            }

            SubIndex = 0;
            foreach (MarquesModel Marque in Marques)
            {
                Tree.Nodes[2].Nodes.Add(new TreeNode(Marque.Nom));
                Tree.Nodes[2].Nodes[SubIndex++].Name = Marque.RefMarque.ToString();
            }

            Tree.EndUpdate();
            UpdateListView(ActionMemory, TypeMemory);
        }
Пример #9
0
 /// <summary>
 /// Update the current Marque.
 /// </summary>
 /// <param name="CurrentDescription">The current Marque.</param>
 public void UpdateMarque(String CurrentDescription)
 {
     if (ReferenceVM == -1)
     {
         MarquesModel CurrentMarque = new MarquesModel(CurrentDescription);
         MarquesDao.Insert(CurrentMarque);
     }
     else
     {
         MarquesModel CurrentMarque = new MarquesModel(ReferenceVM, CurrentDescription);
         MarquesDao.Update(CurrentMarque);
     }
     View.Close();
 }
Пример #10
0
        /// <summary>
        /// Get all the Marques saved in Database.
        /// </summary>
        public void ShowAllMarques()
        {
            List <MarquesModel> MarquesToVis = MarquesDao.SelectAll();

            TypeShown = "Marques";

            ListToDisplay.Clear();
            ListToDisplay.Columns.Add("Description", -2, HorizontalAlignment.Left);

            foreach (MarquesModel Marque in MarquesToVis)
            {
                var Item = new ListViewItem(new[] { Marque.Nom });
                ListToDisplay.Items.Add(Item);
                Item.Name = Marque.RefMarque.ToString();
            }
        }
Пример #11
0
        private void supprimerToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (ListToDisplay.SelectedItems.Count == 1)
            {
                if (treeView1.SelectedNode.Name == "Familles" || treeView1.SelectedNode.Name == "Articles" || treeView1.SelectedNode.Name == "Marques")
                {
                    if (treeView1.SelectedNode.Name == "Articles")
                    {
                        ArticlesDao.DeleteById(ListToDisplay.SelectedItems[0].Name);
                    }
                    else if (treeView1.SelectedNode.Name == "Familles")
                    {
                        FamillesDao.DeleteById(int.Parse(ListToDisplay.SelectedItems[0].Name));
                    }
                    else
                    {
                        MarquesDao.DeleteById(int.Parse(ListToDisplay.SelectedItems[0].Name));
                    }
                }
                else
                {
                    switch (treeView1.SelectedNode.Parent.Name)
                    {
                    case "Familles":
                        SousFamillesDao.DeleteById(int.Parse(ListToDisplay.SelectedItems[0].Name));
                        break;

                    case "Marques":
                        ArticlesDao.DeleteById(ListToDisplay.SelectedItems[0].Name);
                        break;

                    default:
                        ArticlesDao.DeleteById(ListToDisplay.SelectedItems[0].Name);
                        break;
                    }
                }
            }
        }
        /// <summary>
        /// The ViewModel constructor.
        /// </summary>
        public AjouterModifierArticleViewModel(String Type, String RefArticle)
        {
            View = new AjouterModifierArticleView(this, Type);
            List <FamillesModel>     Familles     = FamillesDao.SelectAll();
            List <SousFamillesModel> SousFamilles = SousFamillesDao.SelectAll();
            List <MarquesModel>      Marques      = MarquesDao.SelectAll();

            if (Type.Equals("Ajouter"))
            {
                View.SetFamilleChampAjout(Familles);
                View.SetSousFamilleChampAjout(SousFamilles);
                View.SetMarqueChampAjout(Marques);
            }
            else
            {
                ArticlesModel CurrentArticle = ArticlesDao.SelectById(RefArticle);
                View.SetReferenceModif(CurrentArticle.RefArticle);
                View.SetDescriptionModif(CurrentArticle.Description);
                View.SetFamilleChampModif(Familles, CurrentArticle.SousFamille.Famille);
                View.SetSousFamilleChampModif(SousFamilles, CurrentArticle.SousFamille);
                View.SetMarqueChampModif(Marques, CurrentArticle.Marque);
                View.SetQuantiteModif(CurrentArticle.Quantite.ToString());
            }
        }
        /// <summary>
        /// Update or Create the current item with the new values and close the Update Window.
        /// </summary>
        /// <param name="RefArticle">The Reference of the Article.</param>
        /// <param name="Description">The Description of the Article.</param>
        /// <param name="Famille">The Famille of the Article.</param>
        /// <param name="SousFamille">The Sous Famille of the Article.</param>
        /// <param name="Marque">The Marque of the Article.</param>
        /// <param name="Quantite">The Quantite of the Article.</param>
        public void UpdateArticle(string RefArticle, string Description, String Famille, String SousFamille, String Marque, int Quantite)
        {
            FamillesModel FamilleObj = new FamillesModel(Famille);

            FamilleObj.RefFamille = FamillesDao.Contains(FamilleObj);
            SousFamillesModel SousFamilleObj = new SousFamillesModel(FamilleObj, SousFamille);

            SousFamilleObj.RefSousFamille = SousFamillesDao.Contains(SousFamilleObj);
            MarquesModel MarqueObj = new MarquesModel(Marque);

            MarqueObj.RefMarque = MarquesDao.Contains(MarqueObj);
            ArticlesModel Article = new ArticlesModel(RefArticle, Description, SousFamilleObj, MarqueObj, 0, Quantite);

            if (ArticlesDao.Contains(Article))
            {
                ArticlesDao.Update(Article);
            }
            else
            {
                ArticlesDao.Insert(Article);
            }

            View.Close();
        }
Пример #14
0
 public MarqueController()
 {
     MarquesDao      = new MarquesDao();
     FamillesDao     = new FamillesDao();
     SousFamillesDao = new SousFamillesDao();
 }
 public SousFamilleController()
 {
     SousFamillesDao = new SousFamillesDao();
     MarquesDao      = new MarquesDao();
     FamillesDao     = new FamillesDao();
 }
Пример #16
0
        public void CsvImport(bool Flag, string ParamFilePath, FormImport FormImport)
        {
            ModelList           ModelList           = new ModelList();
            ModelListController ModelListController = new ModelListController();

            ModelList = ModelListController.GetAllModelList();
            ArticlesDao     ArticleDao     = new ArticlesDao();
            FamillesDao     FamilleDao     = new FamillesDao();
            MarquesDao      MarqueDao      = new MarquesDao();
            SousFamillesDao SousFamilleDao = new SousFamillesDao();
            Articles        Article        = new Articles();
            Marques         Marque         = new Marques();
            SousFamilles    SousFamille    = new SousFamilles();
            Familles        Famille        = new Familles();

            try
            {
                int AddedArticles    = 0;
                int ExistingArticles = 0;

                if (Flag == true)
                {
                    ModelList.Articles.Clear();
                    ModelList.Familles.Clear();
                    ModelList.Marques.Clear();
                    ModelList.SousFamilles.Clear();

                    ArticleDao.EmptyArticles();
                    SousFamilleDao.EmptySousFamilles();
                    MarqueDao.EmptyMarques();
                    FamilleDao.EmptyFamilles();
                }

                if (ParamFilePath == "")
                {
                    if (MessageBox.Show("Please choose a file!", "ERROR") == DialogResult.OK)
                    {
                        FormImport.label_FichierImporte.Text = "FileName: " + System.IO.Path.GetFileName(ChooseFile());
                    }
                }

                using (var StreamReader = new StreamReader(ParamFilePath, Encoding.Default))
                {
                    var NbLines = File.ReadAllLines(ParamFilePath).Length;

                    FormImport.progressBar.Maximum = NbLines;
                    FormImport.progressBar.Value   = 1;

                    StreamReader.ReadLine();

                    string Line;
                    while ((Line = StreamReader.ReadLine()) != null)
                    {
                        var Values          = Line.Split(';');
                        var Description     = Values[0].Trim();
                        var RefArticle      = Values[1].Trim();
                        var MarqueName      = Values[2].Trim();
                        var FamilleName     = Values[3].Trim();
                        var SousFamilleName = Values[4].Trim();
                        var Prix            = Values[5].Trim();

                        if (Prix.IndexOf("\"") >= 0)
                        {
                            Prix = Prix.Replace("\"", "");
                        }

                        if (Prix.EndsWith(","))
                        {
                            Prix = Prix.Remove(Prix.Length - 1, 1);
                        }

                        if (Prix.IndexOf(",") != -1)
                        {
                            int StartIndex = 0;
                            int Count      = 0;
                            while (true)
                            {
                                int Index = Prix.IndexOf(",", StartIndex);
                                if (Index != -1)
                                {
                                    Count++;
                                    StartIndex = Index + 1;
                                }
                                else
                                {
                                    break;
                                }
                            }

                            StartIndex = 0;
                            for (int i = 0; i < Count - 1; i++)
                            {
                                int Index = Prix.IndexOf(",", StartIndex);
                                StartIndex = Index + 1;
                                Prix       = Prix.Remove(Index, Index);
                            }

                            Prix = Prix.Replace(",", ".");
                        }

                        var PrixHT = double.Parse(Prix, new CultureInfo("en-US"));

                        if (ArticleDao.FindArticleByRefArticle(RefArticle))
                        {
                            ExistingArticles += 1;
                            if (Flag == false)
                            {
                                Article = ArticleDao.FindArticlesByRefArticle(RefArticle);
                                if (Article.Description != Description)
                                {
                                    Article.Description = Description;
                                }
                                if (Article.PrixHT != PrixHT)
                                {
                                    Article.PrixHT = PrixHT;
                                }
                                if (Article.Quantite != 1)
                                {
                                    Article.Quantite = 1;
                                }
                                if (!MarqueDao.FindMarqueByMarqueName(MarqueName))
                                {
                                    Marque = new Marques(MarqueName);
                                    ModelList.Marques.Add(Marque);
                                    MarqueDao.AddMarque(Marque);
                                    Article.Marque = Marque;
                                }
                                if (!SousFamilleDao.FindSousFamilleBySousFamilleName(SousFamilleName))
                                {
                                    SousFamille = new SousFamilles(SousFamilleName);
                                    ModelList.SousFamilles.Add(SousFamille);
                                    SousFamilleDao.AddSousFamille(SousFamille, Famille);
                                    Article.SousFamille = SousFamille;
                                }
                            }
                            continue;
                        }
                        else
                        {
                            AddedArticles += 1;
                        }

                        if (!MarqueDao.FindMarqueByMarqueName(MarqueName))
                        {
                            Marque = new Marques(MarqueName);
                            ModelList.Marques.Add(Marque);
                            MarqueDao.AddMarque(Marque);
                        }

                        if (!ArticleDao.FindArticleByFamilleName(FamilleName))
                        {
                            Famille = new Familles(FamilleName);
                            ModelList.Familles.Add(Famille);
                            FamilleDao.AddFamille(Famille);
                        }

                        if (!SousFamilleDao.FindSousFamilleBySousFamilleName(SousFamilleName))
                        {
                            SousFamille = new SousFamilles(SousFamilleName);
                            ModelList.SousFamilles.Add(SousFamille);
                            SousFamilleDao.AddSousFamille(SousFamille, Famille);
                        }

                        Article = new Articles(RefArticle, Description, FamilleDao.FindFamillesByRefSousFamille(SousFamille.RefSousFamille), SousFamille, Marque, PrixHT, 1);
                        ModelList.Articles.Add(Article);
                        ArticleDao.AddArticle(Article);

                        FormImport.progressBar.Value++;
                    }
                    StreamReader.Close();
                }

                string Message = "Nombre d'articles ajoutés " + AddedArticles + "\n" +
                                 "Nombre d'articles anomalies " + ExistingArticles;

                MessageBox.Show(" Import success!\n" + Message, System.IO.Path.GetFileName(ParamFilePath));

                String FileDirectory = Path.GetDirectoryName(ParamFilePath);
                //if (FileDirectory != null)
                //FormMain_FileSystemWatcher();
            }
            catch (System.IO.IOException)
            {
                MessageBox.Show("Please close the selected file!");
            }
        }
Пример #17
0
        /// <summary>
        /// Clean the current database and add new datas from a CSV file.
        /// </summary>
        public void Import_Erase(string filename, ProgressBar Progress)
        {
            List <ParserModel> records = ReadCSV(filename);
            string             AdvertMessage;
            List <int>         SuccessArticles;
            List <int>         SuccessFamilles;
            List <int>         SuccessMarques;
            List <int>         SuccessSousFamilles;

            if (records != null)
            {
                Progress.Maximum = 8;

                /* Erase all datas */
                ArticlesDao.Clear();
                Progress.PerformStep();

                SousFamillesDao.Clear();
                Progress.PerformStep();

                FamillesDao.Clear();
                Progress.PerformStep();

                MarquesDao.Clear();
                Progress.PerformStep();

                /* Creating data objects */
                List <FamillesModel>     Familles     = new List <FamillesModel>();
                List <SousFamillesModel> SousFamilles = new List <SousFamillesModel>();
                List <MarquesModel>      Marques      = new List <MarquesModel>();
                List <ArticlesModel>     Articles     = new List <ArticlesModel>();
                FamillesModel            Famille;
                SousFamillesModel        SousFamille;
                MarquesModel             Marque;
                ArticlesModel            Article;

                foreach (ParserModel Parse in records)
                {
                    Famille = new FamillesModel(Parse.Famille);
                    Marque  = new MarquesModel(Parse.Marque);

                    if (ContainsFamille(Familles, Famille) == null)
                    {
                        Familles.Add(Famille);
                    }

                    SousFamille = new SousFamillesModel(ContainsFamille(Familles, Famille), Parse.SousFamille);

                    if (ContainsSousFamille(SousFamilles, SousFamille) == null)
                    {
                        SousFamilles.Add(SousFamille);
                    }

                    if (ContainsMarque(Marques, Marque) == null)
                    {
                        Marques.Add(Marque);
                    }

                    Article = new ArticlesModel(Parse.Ref, Parse.Description,
                                                ContainsSousFamille(SousFamilles, SousFamille),
                                                ContainsMarque(Marques, Marque), Parse.Prix, 0);
                    Articles.Add(Article);
                }

                SuccessFamilles = FamillesDao.ImportDatas(Familles);
                Progress.PerformStep();

                SuccessSousFamilles = SousFamillesDao.ImportDatas(SousFamilles);
                Progress.PerformStep();

                SuccessMarques = MarquesDao.ImportDatas(Marques);
                Progress.PerformStep();

                SuccessArticles = ArticlesDao.ImportDatas(Articles);
                Progress.PerformStep();

                ImportResult(SuccessFamilles, SuccessSousFamilles, SuccessMarques, SuccessArticles);
            }
            ImportWindow.Close();
        }