public ModelListController() { ArticleDao = new ArticlesDao(); MarqueDao = new MarquesDao(); FamilleDao = new FamillesDao(); SousFamilleDao = new SousFamillesDao(); }
/// <summary> /// Export datas in a CSV file. /// </summary> /// <param name="Filename">Path of the CSV file.</param> public void Export(string Filename) { List <ParserModel> ListToWrite = new List <ParserModel>(); /* Creating data objects */ Console.WriteLine("[Debug: Bacchus.view.CSVManagerViewModel.readCSV] Getting data objects."); List <ArticlesModel> Articles = ArticlesDao.SelectAll(); foreach (ArticlesModel Article in Articles) { ParserModel ElementToAdd = new ParserModel(); ElementToAdd.Description = Article.Description; ElementToAdd.Ref = Article.RefArticle; ElementToAdd.Marque = Article.Marque.Nom; ElementToAdd.Famille = Article.SousFamille.Famille.Nom; ElementToAdd.SousFamille = Article.SousFamille.Nom; ElementToAdd.Prix = Article.PrixHT; ListToWrite.Add(ElementToAdd); } if (WriteCSV(ListToWrite, Filename)) { AdvertBox("Le transfert a été effectué avec succès.", "information"); ExportWindow.Close(); } }
public ArticlesController() { ArticlesDao = new ArticlesDao(); SousFamillesDao = new SousFamillesDao(); MarquesDao = new MarquesDao(); FamillesDao = new FamillesDao(); }
/// <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(); }
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> /// 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(); }
/// <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> /// Get all the Articles saved in the referenced Marque passed to the method. /// </summary> /// <param name="RefMarque">The reference of the Marque that contains all returned Articles.</param> public void ShowArticleforMarques(int RefMarque) { List <ArticlesModel> ArticlesToVis = ArticlesDao.SelectByMarque(RefMarque); TypeShown = "Articles"; ListToDisplay.Clear(); ListToDisplay.Columns.Add("Description", -2, HorizontalAlignment.Left); ListToDisplay.Columns.Add("Famille", -2, HorizontalAlignment.Left); ListToDisplay.Columns.Add("Sous-Famille", -2, HorizontalAlignment.Left); ListToDisplay.Columns.Add("Marque", -2, HorizontalAlignment.Left); ListToDisplay.Columns.Add("Quantite", -2, HorizontalAlignment.Left); foreach (ArticlesModel Article in ArticlesToVis) { var Item = new ListViewItem(Article.Description, 0); Item.SubItems.Add(Article.SousFamille.Famille.Nom); Item.SubItems.Add(Article.SousFamille.Nom); Item.SubItems.Add(Article.Marque.Nom); Item.SubItems.Add(Article.Quantite.ToString()); ListToDisplay.Items.Add(Item); Item.Name = Article.RefArticle; } }
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!"); } }
/// <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(); }
public List <Articles> FindArticlesByMarqueName(string MarqueName) { ArticlesDao ArticlesDao = new ArticlesDao(); return(ArticlesDao.FindArticlesByMarqueName(MarqueName)); }