Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
            }
        }
Example #3
0
 /**
  * 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
     }
 }
Example #4
0
        /// <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;
                }
            }
        }
Example #5
0
        /// <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.");
            }
        }
Example #6
0
        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();
                }
            }
        }
Example #7
0
        /**
         * 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);
        }
Example #8
0
        /**
         * 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);
        }
Example #9
0
        /// <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);
        }
Example #10
0
        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();
                }
            }
        }
Example #11
0
        /**
         * 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);
            }
        }
Example #12
0
 /**
  * Constructeur
  * Param:
  *   La marque
  */
 public FormSaveMarque(Marque marque)
 {
     this.toUpdate = true;
     InitializeComponent();
     InitializeTextBoxes(marque);
 }
Example #13
0
 /**
  * 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;
 }
Example #14
0
        /// <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;
        }