Пример #1
0
        /// <summary>
        /// Retourne tous les articles de la base de données
        /// </summary>
        /// <returns></returns>
        public static Article[] GetAllArticles()
        {
            //Nombre d'articles dans la base de donnée
            int nbArticle = ArticleDAO.NbArticles();

            //Tableau d'artiles à retourner
            Article[] listToReturn = new Article[nbArticle];

            using (var Connection = new SQLiteConnection("Data Source = Bacchus.SQLite ;Version=3;New=False;Compress=True;"))
            {
                using (var Command = new SQLiteCommand("SELECT * FROM Articles;"))
                {
                    try
                    {
                        Command.Connection = Connection;
                        Command.Connection.Open();

                        using (SQLiteDataReader Reader = Command.ExecuteReader())
                        {
                            for (int currentArticleIndex = 0; currentArticleIndex < nbArticle; currentArticleIndex++)
                            {
                                // Lecture de la ligne
                                Reader.Read();

                                // Création d'un article
                                Article ArticleToAdd = new Article();

                                // Ajout des paramètres
                                ArticleToAdd.RefArticle   = Reader[0].ToString();
                                ArticleToAdd.Description  = Reader[1].ToString();
                                ArticleToAdd.RefSubFamily = SubFamilyDAO.GetSubFamilyById((int)Reader[2]);
                                ArticleToAdd.RefBrand     = BrandDAO.GetBrandById((int)Reader[3]);
                                ArticleToAdd.PriceHT      = float.Parse(Reader[4].ToString());
                                ArticleToAdd.Quantity     = (int)Reader[5];

                                // Ajout de l'article à la liste à retourner
                                listToReturn.SetValue(ArticleToAdd, currentArticleIndex);
                            }
                        }

                        Connection.Close();
                    }
                    catch (Exception ExceptionCaught)
                    {
                        //En cas d'erreur, retourne null
                        listToReturn = null;

                        MessageBox.Show("Echec de la récupération des données de la table Article \n" + ExceptionCaught.Message, ExceptionCaught.GetType().ToString());

                        Connection.Close();
                    }
                }
            }

            return(listToReturn);
        }
Пример #2
0
        /// <summary>
        /// Retourne toutes les sous-familles de la base de donnée
        /// </summary>
        /// <returns></returns>
        public static SubFamily[] GetAllSubFamilies()
        {
            //The number of subFamily
            int nbSubFamily = SubFamilyDAO.NbSubFamilies();

            //The table to return
            SubFamily[] listToReturn = new SubFamily[nbSubFamily];

            using (var Connection = new SQLiteConnection("Data Source = Bacchus.SQLite ;Version=3;New=False;Compress=True;"))
            {
                using (var Command = new SQLiteCommand("SELECT * FROM SousFamilles;"))
                {
                    try
                    {
                        // Connection
                        Command.Connection = Connection;
                        Command.Connection.Open();

                        using (SQLiteDataReader Reader = Command.ExecuteReader())
                        {
                            for (int currentSubFamilyIndex = 0; currentSubFamilyIndex < nbSubFamily; currentSubFamilyIndex++)
                            {
                                // Lecture de la ligne
                                Reader.Read();

                                // Creation de la famille
                                SubFamily SubFamilyToAdd = new SubFamily();

                                // Ajout des paramètres
                                SubFamilyToAdd.RefSubFamily  = (int)Reader[0];
                                SubFamilyToAdd.RefFamily     = FamilyDAO.GetFamilyById((int)Reader[1]);
                                SubFamilyToAdd.NameSubFamily = Reader[2].ToString();

                                // Ajout de la sous-famille à la liste à retourner
                                listToReturn.SetValue(SubFamilyToAdd, currentSubFamilyIndex);
                            }
                        }

                        Connection.Close();
                    }
                    catch (Exception ExceptionCaught)
                    {
                        // Rtourne null en cas d'erreur
                        listToReturn = null;

                        MessageBox.Show("Echec de la récupération des données de la table SousFamille  \n" + ExceptionCaught.Message, ExceptionCaught.GetType().ToString());

                        Connection.Close();
                    }
                }
            }

            return(listToReturn);
        }
Пример #3
0
        /// <summary>
        /// Retourne l'article correspondant à la référence passée en paramètre
        /// </summary>
        /// <param name="ArticleRef"></param>
        /// <returns></returns>
        public static Article GetArticleById(String ArticleRef)
        {
            Article ArticleToReturn = null;

            using (var Connection = new SQLiteConnection("Data Source = Bacchus.SQLite ;Version=3;New=False;Compress=True;"))
            {
                using (var Command = new SQLiteCommand("SELECT * FROM Articles WHERE RefArticle = '" + ArticleRef + "';"))
                {
                    try
                    {
                        Command.Connection = Connection;
                        Command.Connection.Open();

                        using (SQLiteDataReader Reader = Command.ExecuteReader())
                        {
                            // Lecture de la ligne
                            Reader.Read();

                            // Creation de l'article à retourner
                            ArticleToReturn = new Article();

                            // Ajout des paramètres
                            ArticleToReturn.RefArticle   = Reader[0].ToString();
                            ArticleToReturn.Description  = Reader[1].ToString();
                            ArticleToReturn.RefSubFamily = SubFamilyDAO.GetSubFamilyById((int)Reader[2]);
                            ArticleToReturn.RefBrand     = BrandDAO.GetBrandById((int)Reader[3]);
                            ArticleToReturn.PriceHT      = float.Parse(Reader[4].ToString());
                            ArticleToReturn.Quantity     = (int)Reader[5];
                        }

                        Connection.Close();
                    }
                    // Dans le cas où l'article n'existe pas
                    catch (InvalidOperationException)
                    {
                        ArticleToReturn = null;

                        Connection.Close();
                    }
                    catch (Exception ExceptionCaught)
                    {
                        ArticleToReturn = null;

                        MessageBox.Show("Echec de la récupération de l'article " + ArticleRef + " \n" + ExceptionCaught.Message, ExceptionCaught.GetType().ToString());

                        Connection.Close();
                    }
                }
            }

            return(ArticleToReturn);
        }