public void Familles_Box_Initialiser() { this.ComboBox_Famille.Items.Clear(); if (string.Compare(this.ComboBox_SousFamille.Text, "") == 0) { FamillesDAO Famille_DAO = new FamillesDAO(); List <Familles> FamillesListe = Famille_DAO.GetAll(); int CountF = 0; for (CountF = 0; CountF < FamillesListe.Count; CountF++) { this.ComboBox_Famille.Items.Add(FamillesListe[CountF].Ref_Famille_Operation); } } else { string Ref_S = this.ComboBox_SousFamille.Text; int Ref_SI = int.Parse(Ref_S); SousFamillesDAO Sous_Familles_DAO = new SousFamillesDAO(); List <SousFamilles> SousfamillesListe = Sous_Familles_DAO.GetSousFamilles(Ref_SI); if (SousfamillesListe != null && SousfamillesListe.Count > 0) { this.ComboBox_Famille.Items.Add(SousfamillesListe[0].Ref_Famille_Operation.ToString()); this.ComboBox_Famille.Text = SousfamillesListe[0].Ref_Famille_Operation.ToString(); } else { MessageBox.Show("Pas de cette SousFamille"); } } }
/// <summary> /// Constructeur de la form AjouterArticle /// </summary> public AjouterArticle(FormMain Form, String PathToSave) { this.Form = Form; PathBdd = PathToSave; InitializeComponent(); SousFamillesDAO SousFamillesD = new SousFamillesDAO(PathBdd); List <SousFamilles> SousFamillesList = SousFamillesD.GetAllSousFamilles(); //remplissage des combobox foreach (SousFamilles Sf in SousFamillesList) { ComboBoxSousFamille.Items.Add(Sf); ComboBoxSousFamille.SelectedItem = ComboBoxSousFamille.Items[ComboBoxSousFamille.Items.IndexOf(Sf)]; } MarquesDAO MarquesD = new MarquesDAO(PathBdd); List <Marques> MarquesList = MarquesD.GetAllMarques(); foreach (Marques Mar in MarquesList) { ComboBoxMarque.Items.Add(Mar); ComboBoxMarque.SelectedItem = ComboBoxMarque.Items[ComboBoxMarque.Items.IndexOf(Mar)]; } }
//combox initialiser public void Sous_Familles_Box_Initialiser() { this.ComboBox_SousFamille.Items.Clear(); SousFamillesDAO Sous_Famille_DAO = new SousFamillesDAO(); List <SousFamilles> SousFamillesListe = Sous_Famille_DAO.GetAll(); int CountS = 0; for (CountS = 0; CountS < SousFamillesListe.Count; CountS++) { this.ComboBox_SousFamille.Items.Add(SousFamillesListe[CountS].Ref_Sous_Famille_Operation); } }
//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()); } }
private void ComboBox_SousFamille_TextChanged(object sender, EventArgs e) { this.ComboBox_Famille.Items.Clear(); string Ref_S = this.ComboBox_SousFamille.Text; int Ref_SI = int.Parse(Ref_S); SousFamillesDAO Sous_Familles_DAO = new SousFamillesDAO(); List <SousFamilles> SousfamillesListe = Sous_Familles_DAO.GetSousFamilles(Ref_SI); if (SousfamillesListe != null && SousfamillesListe.Count > 0) { this.ComboBox_Famille.Items.Add(SousfamillesListe[0].Ref_Famille_Operation.ToString()); this.ComboBox_Famille.Text = SousfamillesListe[0].Ref_Famille_Operation.ToString(); } else { MessageBox.Show("Pas de cette SousFamille"); } }
/// <summary> /// Constructeur de la form ModifierArticle /// </summary> public ModifierArticle(FormMain Form, String PathToSave) { this.Form = Form; PathBdd = PathToSave; InitializeComponent(); Articles Ar = (Articles)Form.GetListView().SelectedItems[0].Tag; this.TextBoxDescription.Text = Ar.GetDescription(); AncienNom = Ar.GetDescription(); SousFamillesDAO SousFamillesD = new SousFamillesDAO(PathBdd); List <SousFamilles> SousFamillesList = SousFamillesD.GetAllSousFamilles(); //implémentation des combobox String SF = Form.GetListView().SelectedItems[0].SubItems[3].Text; foreach (SousFamilles Sf in SousFamillesList) { ComboBoxSousFamille.Items.Add(Sf); if (SF.Equals(Sf.GetNom())) { ComboBoxSousFamille.SelectedItem = ComboBoxSousFamille.Items[ComboBoxSousFamille.Items.IndexOf(Sf)]; } } MarquesDAO MarquesD = new MarquesDAO(PathBdd); List <Marques> MarquesList = MarquesD.GetAllMarques(); String M = Form.GetListView().SelectedItems[0].SubItems[4].Text; foreach (Marques Mar in MarquesList) { ComboBoxMarque.Items.Add(Mar); if (M.Equals(Mar.GetNom())) { ComboBoxMarque.SelectedItem = ComboBoxMarque.Items[ComboBoxMarque.Items.IndexOf(Mar)]; } } NumericUpDown.Value = Ar.GetQuantite(); }
/// <summary> /// Permet de créer les noeuds des sous familles dans la branch Familles /// </summary> /// <param name="Path"> chemin vers la bdd SQLite </param> public void CreateSousFamillesNodes(string Path) { List <SousFamilles> SousFamilles = new List <SousFamilles>(); SousFamillesDAO sfDAO = new SousFamillesDAO(Path); TreeNode famillesNodes = Tree.Nodes[1]; Tree.BeginUpdate(); foreach (TreeNode n in famillesNodes.Nodes) { Familles f = (Familles)n.Tag; SousFamilles = sfDAO.GetSousFamillesByFamilles(f.GetRefFamille()); foreach (SousFamilles sf in SousFamilles) { n.Nodes.Add(sf.GetNom(), sf.GetNom()); n.LastNode.Tag = sf; } SousFamilles.Clear(); } Tree.EndUpdate(); }
/// <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); }
/// <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; } }
/// <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); } }
/// <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é"; }
/// <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()); } }