public void AddMarque(String MarqueName, AddMarque AddMarque) { if (FamillesDao.FindFamilleByFamilleName(MarqueName)) { MessageBox.Show("This name has already been used by a Famille!", "ERROR"); AddMarque.textBox_MarqueName.Text = ""; return; } if (SousFamillesDao.FindSousFamilleBySousFamilleName(MarqueName)) { MessageBox.Show("This name has already been used by a SousFamille!", "ERROR"); AddMarque.textBox_MarqueName.Text = ""; return; } if (MarquesDao.FindMarqueByMarqueName(MarqueName)) { MessageBox.Show("Marque Already exsited!", "ERROR"); AddMarque.textBox_MarqueName.Text = ""; return; } else { Marques Marque = new Marques(MarqueName); Marque.RefMarque = MarquesDao.GetMaxRefMarque() + 1; MarquesDao.AddMarque(Marque); if (MarquesDao.FindMarqueByMarqueName(MarqueName)) { MessageBox.Show("Add Marque succeed!"); AddMarque.Close(); } } }
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> /// Add an article to the database. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button_Add_Click(object sender, EventArgs e) { var RefArticle = this.textBox_RefArticle.Text; var Description = this.textBoxDescription.Text; var MarqueName = this.comboBox_Marque.Text; var FamilleName = this.comboBox_Famille.Text; var SousFamilleName = this.comboBox_SousFamille.Text; var PrixHT = this.textBox_PrixHT.Text; var Quantite = this.textBox_Quantite.Text; if (RefArticle == "") { MessageBox.Show("Please enter the RefArticle!", "ERROR"); } else if (Description == "") { MessageBox.Show("Please enter the Description!", "ERROR"); } else if (PrixHT == "") { MessageBox.Show("Please enter the Price!", "ERROR"); } else if (Quantite == "") { MessageBox.Show("Please enter the Quantite!", "ERROR"); } else if (MarqueName == "") { MessageBox.Show("Please enter the Marque Name!", "ERROR"); } else if (FamilleName == "") { MessageBox.Show("Please enter the Famille Name!", "ERROR"); } else if (SousFamilleName == "") { MessageBox.Show("Please enter the SousFamille Name!", "ERROR"); } else if (RefArticle.Length >= 15) { MessageBox.Show("RefArticle is too long! The maximum length of the RefArticle is 15!"); } else if (!float.TryParse(PrixHT, out var Prix)) { MessageBox.Show("Please enter the right price!"); } else if (!int.TryParse(Quantite, out var Number)) { MessageBox.Show("Please enter the right quantity!"); } else if (ArticleController.FindArticleByRefArticle(RefArticle)) { MessageBox.Show("Article Already exsited!", "ERROR"); } else { if (!SousFamilleController.FindSousFamilleBySousFamilleName(SousFamilleName)) { var Result = MessageBox.Show("SousFamille doesn't exsite! Do you want to add a new SousFamille?", "Confirm Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (Result == DialogResult.OK) { AddSousFamille AddSousFamille = new AddSousFamille { StartPosition = FormStartPosition.CenterParent }; AddSousFamille.ShowDialog(this); } else { return; } } if (!MarqueController.FindMarqueByMarqueName(MarqueName)) { var Result = MessageBox.Show("Marque doesn't exsite! Do you want to add a new Marque?", "Confirm Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (Result == DialogResult.OK) { Marques NewMarque = new Marques(MarqueName); NewMarque.RefMarque = MarqueDao.GetMaxRefMarque() + 1; MarqueDao.AddMarque(NewMarque); } else { return; } } SousFamilles SousFamille = SousFamilleController.FindSousFamillesBySousFamilleName(SousFamilleName); Marques Marque = MarqueController.FindMarquesByMarqueName(MarqueName); string Price = float.Parse(PrixHT).ToString(); Price = Price.Replace(".", ","); Articles Article = new Articles(RefArticle, Description, FamilleController.FindFamillesByRefSousFamille(SousFamille.RefSousFamille), SousFamille, Marque, float.Parse(Price), int.Parse(Quantite)); ArticleDao.AddArticle(Article); if (ArticleController.FindArticleByRefArticle(RefArticle)) { MessageBox.Show("Add Article succeed!"); this.Close(); } } }
/// <summary> /// Add a marque to the database. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button_Add_Click(object sender, EventArgs e) { var MarqueName = this.textBox_MarqueName.Text; if (MarqueName == "") { MessageBox.Show("Please enter the Marque Name!", "ERROR"); return; } if (MarqueName == "Familles") { MessageBox.Show("MarqueName can't be Familles!", "ERROR"); this.textBox_MarqueName.Text = ""; return; } if (MarqueName == "Marques") { MessageBox.Show("MarqueName can't be Marques!", "ERROR"); this.textBox_MarqueName.Text = ""; return; } if (MarqueName == "Familles") { MessageBox.Show("MarqueName can't be Familles!", "ERROR"); this.textBox_MarqueName.Text = ""; return; } if (MarqueName == "Tous les articles") { MessageBox.Show("MarqueName can't be Tous les articles!", "ERROR"); this.textBox_MarqueName.Text = ""; return; } if (FamilleController.FindFamilleByFamilleName(MarqueName)) { MessageBox.Show("This name has already been used by a Famille!", "ERROR"); this.textBox_MarqueName.Text = ""; return; } if (SousFamilleController.FindSousFamilleBySousFamilleName(MarqueName)) { MessageBox.Show("This name has already been used by a SousFamille!", "ERROR"); this.textBox_MarqueName.Text = ""; return; } if (MarqueController.FindMarqueByMarqueName(MarqueName)) { MessageBox.Show("Marque Already exsited!", "ERROR"); this.textBox_MarqueName.Text = ""; return; } else { Marques Marque = new Marques(MarqueName); Marque.RefMarque = MarqueDao.GetMaxRefMarque() + 1; MarqueDao.AddMarque(Marque); if (MarqueController.FindMarqueByMarqueName(MarqueName)) { MessageBox.Show("Add Marque succeed!"); this.Close(); } } }
/// <summary> /// Read the csv file in two modes, mode erasement et mode ajout. /// </summary> /// <param name="Flag"></param> /// <param name="FilePath"></param> /// <param name="FormImport"></param> public static void ReadFile(bool Flag, string FilePath, FormImport FormImport) { 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 (FilePath == "") { if (MessageBox.Show("Please choose a file!", "ERROR") == DialogResult.OK) { using (OpenFileDialog openFileDialog = new OpenFileDialog()) { openFileDialog.Filter = "csv files (*.csv)|*.csv"; openFileDialog.RestoreDirectory = true; if (openFileDialog.ShowDialog() == DialogResult.OK) { FilePath = openFileDialog.FileName; FormImport.label_FichierImporte.Text = "FileName: " + System.IO.Path.GetFileName(FilePath); } } } } using (var StreamReader = new StreamReader(FilePath, Encoding.Default)) { var NbLines = File.ReadAllLines(FilePath).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 = float.Parse(Prix, CultureInfo.InvariantCulture.NumberFormat); */ var PrixHT = float.Parse(Values[5].Trim().Replace(",", "."), CultureInfo.InvariantCulture.NumberFormat); if (ArticleController.FindArticleByRefArticle(RefArticle)) { ExistingArticles += 1; if (Flag == false) { Article = ArticleController.FindArticlesByRefArticle(RefArticle); if (Article.Description != Description) { Article.Description = Description; } if (Article.PrixHT != PrixHT) { Article.PrixHT = PrixHT; } if (Article.Quantite != 1) { Article.Quantite = 1; } if (!MarqueController.FindMarqueByMarqueName(MarqueName)) { Marque = new Marques(MarqueName); ModelList.Marques.Add(Marque); MarqueDao.AddMarque(Marque); Article.Marque = Marque; } if (!SousFamilleController.FindSousFamilleBySousFamilleName(SousFamilleName)) { SousFamille = new SousFamilles(SousFamilleName); ModelList.SousFamilles.Add(SousFamille); SousFamilleDao.AddSousFamille(SousFamille, Famille); Article.SousFamille = SousFamille; } } continue; } else { AddedArticles += 1; } if (!MarqueController.FindMarqueByMarqueName(MarqueName)) { Marque = new Marques(MarqueName); ModelList.Marques.Add(Marque); MarqueDao.AddMarque(Marque); } if (!ArticleController.FindArticleByFamilleName(FamilleName)) { Famille = new Familles(FamilleName); ModelList.Familles.Add(Famille); FamilleDao.AddFamille(Famille); } if (!SousFamilleController.FindSousFamilleBySousFamilleName(SousFamilleName)) { SousFamille = new SousFamilles(SousFamilleName); ModelList.SousFamilles.Add(SousFamille); SousFamilleDao.AddSousFamille(SousFamille, Famille); } Article = new Articles(RefArticle, Description, FamilleController.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(FilePath)); FileDirectory = Path.GetDirectoryName(FilePath); if (FileDirectory != null) { FormMain_FileSystemWatcher(); } } catch (System.IO.IOException) { MessageBox.Show("Please close the selected file!"); } }
public void AddArticle(String RefArticle, String Description, String MarqueName, String FamilleName, String SousFamilleName, String PrixHT, String Quantite, Form Form) { if (RefArticle == "") { MessageBox.Show("Please enter the RefArticle!", "ERROR"); } else if (Description == "") { MessageBox.Show("Please enter the Description!", "ERROR"); } else if (PrixHT == "") { MessageBox.Show("Please enter the Price!", "ERROR"); } else if (Quantite == "") { MessageBox.Show("Please enter the Quantite!", "ERROR"); } else if (MarqueName == "") { MessageBox.Show("Please enter the Marque Name!", "ERROR"); } else if (FamilleName == "") { MessageBox.Show("Please enter the Famille Name!", "ERROR"); } else if (SousFamilleName == "") { MessageBox.Show("Please enter the SousFamille Name!", "ERROR"); } else if (RefArticle.Length >= 15) { MessageBox.Show("RefArticle is too long! The maximum length of the RefArticle is 15!"); } else if (!PrixHT.Contains(",")) { MessageBox.Show("In our software, you must enter a price with ',' instead of '.'. If you want to enter an integer, please enter like '5,0'."); } //else if (!int.TryParse(PrixHT, out var Prix)) // MessageBox.Show("Please enter the right price!"); else if (!int.TryParse(Quantite, out var Number)) { MessageBox.Show("Please enter the right quantity!"); } else if (FindArticleByRefArticle(RefArticle)) { MessageBox.Show("Article Already exsited!", "ERROR"); } else { if (!SousFamillesDao.FindSousFamilleBySousFamilleName(SousFamilleName)) { var Result = MessageBox.Show("SousFamille doesn't exsite! Do you want to add a new SousFamille?", "Confirm Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (Result == DialogResult.OK) { AddSousFamille AddSousFamille = new AddSousFamille { StartPosition = FormStartPosition.CenterParent }; AddSousFamille.ShowDialog(Form); } else { return; } } if (!MarquesDao.FindMarqueByMarqueName(MarqueName)) { var Result = MessageBox.Show("Marque doesn't exsite! Do you want to add a new Marque?", "Confirm Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (Result == DialogResult.OK) { Marques NewMarque = new Marques(MarqueName); NewMarque.RefMarque = MarquesDao.GetMaxRefMarque() + 1; MarquesDao.AddMarque(NewMarque); } else { return; } } SousFamilles SousFamille = SousFamillesDao.FindSousFamillesBySousFamilleName(SousFamilleName); Marques Marque = MarquesDao.FindMarquesByMarqueName(MarqueName); Articles Article = new Articles(RefArticle, Description, FamillesDao.FindFamillesByRefSousFamille(SousFamille.RefSousFamille), SousFamille, Marque, double.Parse(PrixHT), int.Parse(Quantite)); ArticlesDao.AddArticle(Article); if (ArticlesDao.FindArticleByRefArticle(RefArticle)) { MessageBox.Show("Add Article succeed!"); Form.Close(); } } }