/// <summary> /// Retourne une instance de <see cref="Marque"/>. /// </summary> /// <param name="Id_Marque"> la référence de la marque</param> /// <returns>Une instance de <see cref="Marque"/></returns> public Marque Recuperer_Marque(int Id_Marque) { SQLiteCommand Requete_Marque = new SQLiteCommand("SELECT * FROM Marques WHERE @Id_Marque == RefMarque;", Connection); Requete_Marque.Parameters.AddWithValue("@Id_Marque", Id_Marque); SQLiteDataReader Lecture_Table_Marque = Requete_Marque.ExecuteReader(); Lecture_Table_Marque.Read(); Marque Marque = new Marque(Convert.ToInt32(Lecture_Table_Marque[0]), Convert.ToString(Lecture_Table_Marque[1])); Lecture_Table_Marque.Close(); return(Marque); }
/// <summary> /// Affiche l'intégralité des marques disponibles dans une <see cref="ListView"/>. /// </summary> private void Charger_Marques() { Marques_Liste.Items.Clear(); SqlDataReader Data_Reader = SqlDataReader.Ouvrir_Connection(); List <Marque> Marques = Data_Reader.Recuperer_Marques(); Data_Reader.Terminer_Connection(); foreach (Marque Marque in Marques) { ListViewItem Marque_Item = new ListViewItem(Marque.Recuperer_Donnees()); Marques_Liste.Items.Add(Marque_Item); } }
/** * Fonction privée pour initialiser les listes de sous-familles et marques */ private void InitializeLists() { //Chargement la liste des sous-familles dans le combo-box sousFamilleList = SousFamille.GetAll(databaseFileName); foreach (SousFamille sf in sousFamilleList) { sousFamilleComboBox.Items.Add(sf.Nom); sousFamilleComboBox.SelectedIndex = 0; // Selection de premier sous-famille par défaut } //Chargement la liste des marques dans le combo-box marqueList = Marque.GetAll(databaseFileName); foreach (Marque m in marqueList) { marqueComboBox.Items.Add(m.Nom); marqueComboBox.SelectedIndex = 0; // Selection de la premiere articles par défaut } }
/// <summary> /// Affiche l'intégralité des marques disponibles dans un <see cref="ComboBox"/> et sélectionne celle correspondant à celle de l'article à modifier. /// </summary> /// <param name="Nom"> le nom de la marque de l'article à modifier </param> private void Charger_Marques(string Nom) { SqlDataReader Data_Reader = SqlDataReader.Ouvrir_Connection(); List <Marque> Marques = Data_Reader.Recuperer_Marques(); Data_Reader.Terminer_Connection(); foreach (Marque Marque in Marques) { Choix_Marque_Article.Items.Add(Marque); if (Nom.Equals(Marque.Recuperer_Nom())) { Choix_Marque_Article.SelectedItem = Marque; } } }
/// <summary> /// Lance une nouvelle instance de <see cref="Fenetre_Ajout_Marque"/>. /// </summary> /// <param name="sender"> l'objet envoyé </param> /// <param name="e"> l'évènement </param> private void Bouton_Ajouter_Click(object sender, EventArgs e) { Fenetre_Ajout_Marque Fenetre_Ajout = new Fenetre_Ajout_Marque(); DialogResult Resultat = Fenetre_Ajout.ShowDialog(); // On affiche la nouvelle marque dans la liste. if (Resultat == DialogResult.OK) { Marque Marque = Fenetre_Ajout.Ajouter_Marque(); ListViewItem Marque_Dans_Liste = new ListViewItem(Marque.Recuperer_Donnees()); Marques_Liste.Items.Add(Marque_Dans_Liste); ((Fenetre_Principale)Owner).Mise_A_Jour_Barre_De_Statut("Vous avez ajouté une nouvelle marque avec succès."); } }
private void supprimerToolStripMenuItem_Click(object sender, EventArgs e) { if (marqueListview.SelectedIndices.Count == 1) { if (DialogResult.OK == MessageBox.Show("Attention, vous êtes sur le point de supprimer une marque, et tous les articles associés à cette marque. \n Etes vous sur de vouloir continuer ?", "Attention", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning)) { int SelectedIndex = marqueListview.SelectedIndices[0]; String refMarqueToDelete = this.marqueListview.Items[SelectedIndex].SubItems[0].Text; Marque marque = DBManager.GetInstance().GetMarqueByRef(refMarqueToDelete); //Supprimer tous les articles associés à la marque DBManager.GetInstance().DeleteArticlesByMarque(refMarqueToDelete); DBManager.GetInstance().DeleteMarque(marque); RefreshListView(); } } }
/** * Fonction privée pour gérer la marque dans le noeud */ private Marque HandleMarque(XmlNode node) { //Nom de la marque String marqueNom = node.ChildNodes[2].InnerText; //Recherche si la marque est déjà dans la base de données Marque marque = Marque.FindMarqueByNom(databaseFileName, marqueNom); if (marque == null) { //Insertion de la marque int Count = Marque.GetSize(databaseFileName); marque = new Marque(Count, marqueNom); Marque.InsertMarque(databaseFileName, marque); //Affiche d'un message de notification RegisterMessage("Marque : " + marqueNom + " is added."); } return(marque); }
/** * Fonction privée pour gérer l'article dans le noeud */ private Article HandleArticle(XmlNode node, Marque marque, SousFamille sousFamille) { //Reference de l'article String refArticle = node.ChildNodes[1].InnerText; //Description de l'article String description = node.ChildNodes[0].InnerText; //Prix de l'article float prixHT = float.Parse(node.ChildNodes[5].InnerText); //Recherche si l'article est déjà dans la base de données Article article = Article.FindArticle(databaseFileName, refArticle); if (article == null) { //Insertion de l'article article = new Article(refArticle, description, prixHT, 0, sousFamille.Ref_Sous_Famille, marque.Ref_Marque); Article.InsertArticle(databaseFileName, article); //Affiche d'un message de notification RegisterMessage("Article : " + refArticle + " is added."); } return(article); }
/// <summary> /// Get an brand thanks to its reference /// </summary> /// <param name="reference">reference (ID) of the brand</param> /// <returns>Returns an object Marque</returns> public Marque GetMarqueByRef(string refMarqueToEdit) { Marque marque = new Marque(); sqlConn.Open(); SQLiteCommand sqlCmd = new SQLiteCommand("SELECT RefMarque, Nom FROM Marques WHERE RefMarque = @RefMarque", sqlConn); sqlCmd.Parameters.Add(new SQLiteParameter("@RefMarque", refMarqueToEdit)); SQLiteDataReader reader = sqlCmd.ExecuteReader(); if (reader.Read()) { marque.RefMarque = reader.GetInt32(0); marque.Nom = reader.GetString(1); } reader.Close(); reader.Dispose(); sqlConn.Close(); return(marque); }
private void marqueListview_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Delete && marqueListview.SelectedIndices.Count == 1) { if (DialogResult.OK == MessageBox.Show("Attention, vous êtes sur le point de supprimer une marque, et tous les articles associés à cette marque. \n Etes vous sur de vouloir continuer ?", "Attention", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning)) { int SelectedIndex = marqueListview.SelectedIndices[0]; String refMarqueToDelete = this.marqueListview.Items[SelectedIndex].SubItems[0].Text; Marque marque = DBManager.GetInstance().GetMarqueByRef(refMarqueToDelete); //Supprimer tous les articles associés à la marque DBManager.GetInstance().DeleteArticlesByMarque(refMarqueToDelete); DBManager.GetInstance().DeleteMarque(marque); RefreshListView(); } } else if (e.KeyCode == Keys.F5) { RefreshListView(); } else if (e.KeyCode == Keys.Enter) { if (marqueListview.SelectedIndices.Count == 1) { int SelectedIndex = marqueListview.SelectedIndices[0]; String refMarqueToEdit = this.marqueListview.Items[SelectedIndex].SubItems[0].Text; Marque marque = DBManager.GetInstance().GetMarqueByRef(refMarqueToEdit); AddMarqueForm form = new AddMarqueForm(marque); form.ShowDialog(); RefreshListView(); } } }
/** * Fonction privée pour sauvegarder une article à partir les champs de l'interface */ private void SaveArticle() { //reference de l'article dans le champ de texte String RefArticle = referenceArticleTextBox.Text; //description de l'article dans le champ de texte String Description = descriptionTextBox.Text; String Prix = prixTextBox.Text; String Quantite = quantiteTextBox.Text; //l'indice de sous-famille selectionné int sfIndex = sousFamilleComboBox.SelectedIndex; //l'indice de la marque selectionnée int mIndex = marqueComboBox.SelectedIndex; if (sfIndex > -1 && mIndex > -1 && !RefArticle.Equals("") && !Description.Equals("") && !Prix.Equals("") && !Quantite.Equals("")) { try { float prix = float.Parse(Prix, CultureInfo.InvariantCulture); // conversion de string à float int quantite = int.Parse(Quantite, CultureInfo.InvariantCulture); // conversion de string à int //Prendre sous-famille choisi SousFamille sousFamille = sousFamilleList[sfIndex]; //Prendre la marque choisie Marque marque = marqueList[mIndex]; //Reconstruction de l'article Article article = new Article(RefArticle, Description, prix, quantite, sousFamille.Ref_Sous_Famille, marque.Ref_Marque); if (toUpdate) { //Modification de l'article Article.UpdateArticle(databaseFileName, article); MessageBox.Show("The article was updated.", "Article info", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { Article Art = Article.FindArticle(databaseFileName, RefArticle); if (Art != null) { //Message de l'exception pour notifier l'utilisateur MessageBox.Show("This reference is already present", "Famille error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //Insertion de l'article Article.InsertArticle(databaseFileName, article); MessageBox.Show("The article was added.", "Article info", MessageBoxButtons.OK, MessageBoxIcon.Information); } //Fermer la fenetre Dispose(); } catch (FormatException e) { //Message de l'exception pour notifier l'utilisateur MessageBox.Show(e.Message, "Article error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } else { //Message de remplir pour l'utilisateur MessageBox.Show("Please fill all the required fields...", "Article error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/** * Constructeur * Param: * La marque */ public FormSaveMarque(Marque marque) { this.toUpdate = true; InitializeComponent(); InitializeTextBoxes(marque); }
/** * Fonction privée pour initialiser les champs de la marque à modifier */ private void InitializeTextBoxes(Marque marque) { referenceMarqueTextBox.Text = Convert.ToString(marque.Ref_Marque); nomMarqueTextBox.Text = marque.Nom; }
/// <summary> /// Initialise une nouvelle instance de <see cref="Article"/>. /// </summary> /// <param name="Reference"> la référence de l'article </param> /// <param name="Description"> le description de l'article </param> /// <param name="Sous_Famille"> la sous-famille associée </param> /// <param name="Marque"> la marque de l'article </param> /// <param name="Prix"> le prix unitaire (hors taxes) de l'article </param> /// <param name="Quantite"> la quantité de l'article présente </param> public Article(string Reference, string Description, SousFamille Sous_Famille, Marque Marque, double Prix, int Quantite) { this.Reference = Reference; this.Description = Description; this.Sous_Famille = Sous_Famille; this.Marque = Marque; this.Prix = Prix; this.Quantite = Quantite; }