Exemplo n.º 1
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);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Retourne toutes les familles de la base de données
        /// </summary>
        /// <returns></returns>
        public static Family[] GetAllFamilies()
        {
            // Nombre de familles dans la base de données
            int NbFamilies = FamilyDAO.NbFamilies();

            // Tableau de familles à retourner
            Family[] listToReturn = new Family[NbFamilies];

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

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

                                // Création d'une nouvelle famille
                                Family FamilyToAdd = new Family();

                                // Ajout des paramètres
                                FamilyToAdd.RefFamily  = (int)Reader[0];
                                FamilyToAdd.NameFamily = Reader[1].ToString();

                                // Ajout de la famille au tableau
                                listToReturn.SetValue(FamilyToAdd, CurrentFamilyIndex);
                            }
                        }

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

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

                        Connection.Close();
                    }
                }
            }

            return(listToReturn);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Retourne la sous-famille correspondant à l'id passé en paramètre
        /// </summary>
        /// <param name="SubFamilyRef"></param>
        /// <returns></returns>
        public static SubFamily GetSubFamilyById(int SubFamilyRef)
        {
            // Sous famille à retourner
            SubFamily SubFamilyToReturn = null;

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

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

                            // Création de la sousfamille
                            SubFamilyToReturn = new SubFamily();

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

                        Connection.Close();
                    }
                    // dans le cas où il n'existe pas de sous familles avec cet id
                    catch (InvalidOperationException)
                    {
                        SubFamilyToReturn = null;

                        Connection.Close();
                    }
                    catch (Exception ExceptionCaught)
                    {
                        // Retourne null en cas d'erreur
                        SubFamilyToReturn = null;
                        MessageBox.Show("Oui comme un con je suis passé là");
                        MessageBox.Show("Echec de la récupération de la SousFamille " + SubFamilyRef + " \n" + ExceptionCaught.Message, ExceptionCaught.GetType().ToString());

                        Connection.Close();
                    }
                }
            }

            return(SubFamilyToReturn);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Retourne toutes les sous-familles de la famille en entrée
        /// </summary>
        /// <param name="Family"></param>
        /// <returns></returns>
        public static SubFamily[] GetAllSubFamilies(Family Family)
        {
            // DataTable récupérant les données de la requete
            DataTable DataTableToFill = new DataTable();

            // Récupération des données
            using (var Connection = new SQLiteConnection("Data Source = Bacchus.SQLite ;Version=3;New=False;Compress=True;"))
            {
                using (var Command = new SQLiteCommand("SELECT * FROM SousFamilles WHERE RefFamille = " + Family.RefFamily + ";"))
                {
                    try
                    {
                        // Execution de la requete
                        Command.Connection = Connection;
                        Command.Connection.Open();
                        SQLiteDataAdapter adp = new SQLiteDataAdapter(Command);
                        adp.Fill(DataTableToFill);
                        Connection.Close();
                    }
                    catch
                    {
                        Connection.Close();
                    }
                }
            }

            // Création de la liste à retourner (de la taille du résultat de la requete)
            SubFamily[] SubFamilyTableToReturn = new SubFamily[DataTableToFill.Rows.Count];

            // Création des SubFamilies à partir de la DataTable et ajout à la liste
            for (int currentSubFamilyIndex = 0; currentSubFamilyIndex < DataTableToFill.Rows.Count; currentSubFamilyIndex++)
            {
                // Création d'une SousFamille vide
                SubFamily TmpSubFamilyToAdd = new SubFamily();

                // Ajout des paramètres de la SousFamille
                TmpSubFamilyToAdd.RefSubFamily  = (int)DataTableToFill.Rows[currentSubFamilyIndex][1];
                TmpSubFamilyToAdd.RefFamily     = FamilyDAO.GetFamilyById((int)DataTableToFill.Rows[currentSubFamilyIndex][0]);
                TmpSubFamilyToAdd.NameSubFamily = DataTableToFill.Rows[currentSubFamilyIndex][2].ToString();

                // Ajout de la famille à la liste à retourner
                SubFamilyTableToReturn.SetValue(TmpSubFamilyToAdd, currentSubFamilyIndex);
            }

            return(SubFamilyTableToReturn);
        }