Beispiel #1
0
        /// <summary>
        /// Renvoie la liste de tous les articles dans la famille "Famille" et la sous-famille "SousFamille".
        /// </summary>
        /// <param name="Famille"></param>
        /// <param name="SousFamille"></param>
        /// <returns></returns>
        public List <Article> GetArticlesWhereSousFamille(string Famille, string SousFamille)
        {
            List <Article> ListeArticles = new List <Article>();

            DAOSousFamille daoSousFamille = new DAOSousFamille();
            DAOFamille     daoFamille     = new DAOFamille();

            int RefFamille     = daoFamille.GetRefFamille(Famille);
            int RefSousFamille = daoSousFamille.GetRefSousFamille(RefFamille, SousFamille);

            string Cmd = "SELECT RefArticle FROM Articles WHERE RefSousFamille = " + RefSousFamille;

            using (SQLiteConnection Connection = new SQLiteConnection(DatabasePath))
            {
                Connection.Open();
                using (SQLiteCommand Command = new SQLiteCommand(Cmd, Connection))
                {
                    // On récupère la liste des articles
                    using (SQLiteDataReader Reader = Command.ExecuteReader())
                    {
                        while (Reader.Read())
                        {
                            // Pour chaque RefArticle, on récupère l'article correspondant et on l'ajoute à la liste
                            Article NewArticle = GetArticle(Reader.GetString(0));
                            ListeArticles.Add(NewArticle);
                        }
                    }

                    return(ListeArticles);
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// Met à jour un article déjà existant dans la base de données.
        /// </summary>
        /// <param name="ArticleUpdated">L'article à mettre à jour.</param>
        public int UpdateArticle(Article ArticleUpdated)
        {
            DAOMarque      daoMarque      = new DAOMarque();
            DAOFamille     daoFamille     = new DAOFamille();
            DAOSousFamille daoSousFamille = new DAOSousFamille();

            int RefMarque      = daoMarque.GetRefMarque(ArticleUpdated.Marque);
            int RefFamille     = daoFamille.GetRefFamille(ArticleUpdated.Famille);
            int RefSousFamille = daoSousFamille.GetRefSousFamille(RefFamille, ArticleUpdated.SousFamille);

            string Cmd = "UPDATE Articles " +
                         "SET Description = @Description, RefSousFamille = @RefSousFamille, RefMarque = @RefMarque, PrixHT = @PrixHT, Quantite = @Quantite " +
                         "WHERE RefArticle = @RefArticle;";

            using (SQLiteConnection Connection = new SQLiteConnection(DatabasePath))
            {
                Connection.Open();
                using (SQLiteCommand Command = new SQLiteCommand(Cmd, Connection))
                {
                    SQLiteParameter RefArticleParam = new SQLiteParameter("@RefArticle", DbType.String)
                    {
                        Value = ArticleUpdated.RefArticle
                    };
                    SQLiteParameter DescriptionParam = new SQLiteParameter("@Description", DbType.String)
                    {
                        Value = ArticleUpdated.Description
                    };
                    SQLiteParameter RefSousFamilleParam = new SQLiteParameter("@RefSousFamille", DbType.Int16)
                    {
                        Value = RefSousFamille
                    };
                    SQLiteParameter RefMarqueParam = new SQLiteParameter("@RefMarque", DbType.Int16)
                    {
                        Value = RefMarque
                    };
                    SQLiteParameter PrixHTParam = new SQLiteParameter("@PrixHT", DbType.Decimal)
                    {
                        Value = ArticleUpdated.PrixHT
                    };
                    SQLiteParameter QuantiteParam = new SQLiteParameter("@Quantite", DbType.Int16)
                    {
                        Value = ArticleUpdated.Quantite
                    };

                    Command.Parameters.Add(RefArticleParam);
                    Command.Parameters.Add(DescriptionParam);
                    Command.Parameters.Add(RefSousFamilleParam);
                    Command.Parameters.Add(RefMarqueParam);
                    Command.Parameters.Add(PrixHTParam);
                    Command.Parameters.Add(QuantiteParam);

                    return(Command.ExecuteNonQuery());
                }
            }
        }
Beispiel #3
0
        /// <summary>
        /// Ajoute un article à la base de données.
        /// </summary>
        /// <param name="article">L'article à ajouter</param>
        /// <returns></returns>
        public int AddArticle(Article article)
        {
            DAOMarque      daoMarque      = new DAOMarque();
            DAOFamille     daoFamille     = new DAOFamille();
            DAOSousFamille daoSousFamille = new DAOSousFamille();

            int RefMarque = daoMarque.GetRefMarque(article.Marque);

            if (RefMarque == -1)
            {
                RefMarque = daoMarque.AddMarque(article.Marque);
            }

            int RefFamille = daoFamille.GetRefFamille(article.Famille);

            if (RefFamille == -1)
            {
                RefFamille = daoFamille.AddFamille(article.Famille);
            }

            int RefSousFamille = daoSousFamille.GetRefSousFamille(RefFamille, article.SousFamille);

            if (RefSousFamille == -1)
            {
                RefSousFamille = daoSousFamille.AddSousFamille(RefFamille, article.SousFamille);
            }

            string Cmd = "INSERT INTO Articles (RefArticle, Description, RefSousFamille, RefMarque, PrixHT, Quantite) " +
                         "VALUES(@RefArticle, @Description, @RefSousFamille, @RefMarque, @PrixHT, @Quantite);";

            using (SQLiteConnection Connection = new SQLiteConnection(DatabasePath))
            {
                Connection.Open();
                using (SQLiteCommand Command = new SQLiteCommand(Cmd, Connection))
                {
                    SQLiteParameter RefArticleParam = new SQLiteParameter("@RefArticle", DbType.String)
                    {
                        Value = article.RefArticle
                    };
                    SQLiteParameter DescriptionParam = new SQLiteParameter("@Description", DbType.String)
                    {
                        Value = article.Description
                    };
                    SQLiteParameter RefSousFamilleParam = new SQLiteParameter("@RefSousFamille", DbType.Int16)
                    {
                        Value = RefSousFamille
                    };
                    SQLiteParameter RefMarqueParam = new SQLiteParameter("@RefMarque", DbType.Int16)
                    {
                        Value = RefMarque
                    };
                    SQLiteParameter PrixHTParam = new SQLiteParameter("@PrixHT", DbType.Decimal)
                    {
                        Value = article.PrixHT
                    };
                    SQLiteParameter QuantiteParam = new SQLiteParameter("@Quantite", DbType.Int16)
                    {
                        Value = article.Quantite
                    };

                    Command.Parameters.Add(RefArticleParam);
                    Command.Parameters.Add(DescriptionParam);
                    Command.Parameters.Add(RefSousFamilleParam);
                    Command.Parameters.Add(RefMarqueParam);
                    Command.Parameters.Add(PrixHTParam);
                    Command.Parameters.Add(QuantiteParam);

                    return(Command.ExecuteNonQuery());
                }
            }
        }