Exemple #1
0
        /// <summary>
        ///      Cette methode permet de supprimer une sous famille dans la table SousFamilles
        /// </summary>
        /// <param name="refsousfamille">l'identifiant de la sous famille à supprimer </param>
        /// <returns>le resultat de l'operation </returns>
        /// <remarks>
        ///     la suppresion est faite si la sous famille à supprimer n'est liée à aucun  article
        ///     sinon la suppression sera refusé
        /// </remarks>
        public string SupprimerSousFamille(int refsousfamille)
        {
            string requete = "DELETE FROM SousFamilles WHERE RefSousFamille=@ref";
            string resultat;
            InterfaceDB_Articles interArticle = new InterfaceDB_Articles();
            List <Article>       liste        = interArticle.GetToutesArticlebySousFamille(refsousfamille);

            try
            {
                if (liste != null && liste.Count > 0)
                {
                    resultat = "Echec de la suppresion de " + refsousfamille + " car cette sous famille est liée à des articles";
                }
                else
                {
                    /**
                     * suppression de la sous famille
                     * */
                    InterfaceDB.Commande_sqlite = new SQLiteCommand(requete, InterfaceDB.GetInstaneConnexion());
                    InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@ref", refsousfamille);
                    InterfaceDB.Commande_sqlite.ExecuteNonQuery();
                    resultat = " - Suppresion de " + refsousfamille + " dans la table Sous Famille";
                }
            }
            catch (SQLiteException ex)
            {
                resultat = " * Erreur de  suppression de " + refsousfamille + " dans la table Sous Famille : " + ex.Message;
            }
            return(resultat);
        }
        /// <summary>
        ///  Cette methode nous donne la liste de toutes les marques de la table Marques
        /// </summary>
        /// <returns>liste de marque </returns>
        public List <Marque> GetToutesMarque()
        {
            List <Marque> listmarque = null;
            Marque        marque     = null;
            int           refmarqueTrouve;
            string        nomTrouve;

            RequeteDonneesMarque = "select * from Marques";

            InterfaceDB.Commande_sqlite = new SQLiteCommand(RequeteDonneesMarque, InterfaceDB.GetInstaneConnexion());


            try
            {
                SQLiteDataReader Lecture_donnee = InterfaceDB.Commande_sqlite.ExecuteReader();
                listmarque = new List <Marque>();
                while (Lecture_donnee.Read())
                {
                    refmarqueTrouve = Int32.Parse(Lecture_donnee["RefMarque"].ToString());
                    nomTrouve       = Lecture_donnee["Nom"].ToString();
                    marque          = new Marque(refmarqueTrouve, nomTrouve);
                    listmarque.Add(marque);
                }
            }
            catch (SQLiteException ex)
            {
                listmarque = null;
                Console.WriteLine(" * Erreur de lecture dans la table Famille: " + ex.Message);
            }

            return(listmarque);
        }
        /// <summary>
        ///  Cette methode permet d'avoir toutes les informations d'une marque en fonction de son identifiant
        /// </summary>
        /// <param name="refmarque">l'identifiant de la marque </param>
        /// <returns>la marque correspondante</returns>
        public Marque GetMarque(int refmarque)
        {
            Marque marque = null;
            int    refmarqueTrouve;
            string nomTrouve;

            RequeteDonneesMarque = "select * from Marques where Marques.RefMarque=@ref";

            InterfaceDB.Commande_sqlite = new SQLiteCommand(RequeteDonneesMarque, InterfaceDB.GetInstaneConnexion());
            InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@ref", refmarque);

            try
            {
                Lecture_Donnee = InterfaceDB.Commande_sqlite.ExecuteReader();

                while (Lecture_Donnee.Read())
                {
                    refmarqueTrouve = Int32.Parse(Lecture_Donnee["RefMarque"].ToString());
                    nomTrouve       = Lecture_Donnee["Nom"].ToString();
                    marque          = new Marque(refmarqueTrouve, nomTrouve);
                }
            }
            catch (SQLiteException ex)
            {
                marque = null;
                Console.WriteLine(" * Erreur de lecture dans la table Marque : " + ex.Message);
            }

            return(marque);
        }
Exemple #4
0
        /// <summary>
        ///  Cette methode permet d'avoir toutes les informations d'une famille en fonction de son identifiant
        /// </summary>
        /// <param name="reffamille"> l'identifiant de la famille</param>
        /// <returns>la famille correspondante </returns>
        public Famille GetFamille(int reffamille)
        {
            Famille famille = null;
            int     reffamilleTrouve;
            string  nomfamilleTrouve;

            RequeteDonneesFamille = "select * from Familles where Familles.RefFamille = @ref";

            InterfaceDB.Commande_sqlite = new SQLiteCommand(RequeteDonneesFamille, InterfaceDB.GetInstaneConnexion());
            InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@ref", reffamille);

            try
            {
                Lecture_Donnee = InterfaceDB.Commande_sqlite.ExecuteReader();

                while (Lecture_Donnee.Read())
                {
                    reffamilleTrouve = Int32.Parse(Lecture_Donnee["RefFamille"].ToString());
                    nomfamilleTrouve = Lecture_Donnee["Nom"].ToString();
                    famille          = new Famille(reffamilleTrouve, nomfamilleTrouve);
                }
            }
            catch (SQLiteException ex)
            {
                famille = null;
                Console.WriteLine(" * Erreur de lecture dans la table Famille : " + ex.Message);
            }

            return(famille);
        }
        /// <summary>
        ///  Cette methode permet d'avoir tous les articles appartenant à une sous famille
        /// </summary>
        /// <param name="refSousFamille">l'identifiant de la sous famille</param>
        /// <returns>une liste d'article </returns>
        public List <Article> GetToutesArticlebySousFamille(int refSousFamille)
        {
            List <Article>           listarticle = null;
            string                   articleref, desc;
            int                      refsousfamille, refmarque, quan;
            double                   prix;
            InterfaceDB_Sous_Famille Intersousfamille = new InterfaceDB_Sous_Famille();
            InterfaceDB_Marque       InterMarque      = new InterfaceDB_Marque();

            RequeteDonneeArticle = "select * from Articles where RefSousFamille=@ref";

            InterfaceDB.Commande_sqlite = new SQLiteCommand(RequeteDonneeArticle, InterfaceDB.GetInstaneConnexion());
            InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@ref", refSousFamille);

            try
            {
                Lecture_Donnee = InterfaceDB.Commande_sqlite.ExecuteReader();
                listarticle    = new List <Article>();
                while (Lecture_Donnee.Read())
                {
                    articleref     = Lecture_Donnee["RefArticle"].ToString();
                    desc           = Lecture_Donnee["Description"].ToString();
                    refsousfamille = Int32.Parse(Lecture_Donnee["RefSousFamille"].ToString());
                    refmarque      = Int32.Parse(Lecture_Donnee["RefMarque"].ToString());
                    prix           = Double.Parse(Lecture_Donnee["PrixHT"].ToString());
                    quan           = Int32.Parse(Lecture_Donnee["Quantite"].ToString());


                    SousFamille sousfamille = Intersousfamille.GetSousFamille(refsousfamille);
                    Marque      marque      = InterMarque.GetMarque(refmarque);

                    Article article = new Article(articleref, desc, sousfamille, marque, prix, quan);
                    listarticle.Add(article);
                }
            }
            catch (SQLiteException ex)
            {
                listarticle = null;
                Console.WriteLine(" * Erreur de lecture dans la table Article : " + ex.Message);
            }

            return(listarticle);
        }
        /// <summary>
        ///  Cette methode permet de supprimer un article dans la table Articles
        ///  en fonction de son identifiant
        /// </summary>
        /// <param name="refarticle"> l'identifiant de l'article à supprimer </param>
        /// <returns>le resultat de l'opération </returns>
        public string SupprimerArticle(string refarticle)
        {
            string requete = "DELETE FROM Articles WHERE RefArticle=@ref";
            string resultat;

            InterfaceDB.Commande_sqlite = new SQLiteCommand(requete, InterfaceDB.GetInstaneConnexion());
            InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@ref", refarticle);

            try
            {
                InterfaceDB.Commande_sqlite.ExecuteNonQuery();
                resultat = " - Suppresion de " + refarticle + " dans la table Article";
            }
            catch (SQLiteException ex)
            {
                resultat = " * Erreur de  suppression de " + refarticle + " dans la table Article : " + ex.Message;
            }
            return(resultat);
        }
        /// <summary>
        ///  cette methode d'insérer un nouveau article dans la table Articles de la base de données
        /// </summary>
        /// <param name="refArticle">l'identifiant de l'article </param>
        /// <param name="description"> la description de l'article </param>
        /// <param name="refsousfamille"> l'identifiant de la sous famille de l'article </param>
        /// <param name="refmarque">l'identifiant de la marque de l'artcile </param>
        /// <param name="prixht">le prix de l'article </param>
        /// <param name="quantite">la quantité de l'article </param>
        /// <returns>le resultat de l'opération </returns>
        /// <remarks>
        ///     Elle vérifie si l'article existe ou pas avant l'insertion dans la table Articles et gère les erreurs qui peuvent survenir
        /// </remarks>
        public string InsererArticle(string refArticle, string description, int refsousfamille
                                     , int refmarque, double prixht, int quantite)
        {
            string  resultat = "";
            Article article  = GetArticle(refArticle);

            if (article != null)
            {
                resultat = " = Existe dejà dans la table Article " + refArticle;
            }
            else
            {
                try
                {
                    RequeteInsererArticle = "INSERT INTO Articles(RefArticle,Description,RefSousFamille,RefMarque,PrixHT,Quantite) VALUES"
                                            + "(@refArticle,@description,@refsousfamille,@refmarque,@prixht,@quantite)";
                    InterfaceDB.Commande_sqlite = new SQLiteCommand(RequeteInsererArticle, InterfaceDB.GetInstaneConnexion());
                    InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@refArticle", refArticle);
                    InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@description", description);
                    InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@refsousfamille", refsousfamille);
                    InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@refmarque", refmarque);
                    InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@prixht", prixht);
                    InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@quantite", quantite);
                    InterfaceDB.Commande_sqlite.ExecuteNonQuery();
                    resultat = " + Insertion dans la Table Article : " + refArticle;
                }
                catch (SQLiteException ex)
                {
                    resultat = " * Erreur d'insertion dans la Table Article de  " + refArticle + "  " + ex.Message;
                }
            }
            return(resultat);
        }
        /// <summary>
        ///  Cette methode permet de modifier les informations d'un article existant
        /// </summary>
        /// <param name="refArticle">le nouvel identifiant de l'article </param>
        /// <param name="description"> la nouvelle  description de l'article </param>
        /// <param name="refsousfamille"> le nouvel identifiant de la sous famille de l'article </param>
        /// <param name="refmarque">le nouvel identifiant de la marque de l'artcile </param>
        /// <param name="prixht">le nouveau prix de l'article </param>
        /// <param name="quantite">la nouvelle quantité de l'article </param>
        /// <returns>le resutat de l'opération </returns>
        public string ModifierArticle(string refArticle, string description, int refsousfamille, int refmarque, double prixht, int quantite)
        {
            string resultat = "";

            try
            {
                RequeteModifierArticle      = "UPDATE Articles SET Description =@desc ,RefSousFamille =@refsous,RefMarque=@refmar,PrixHT=@prix,Quantite=@quan WHERE RefArticle = @ref";
                InterfaceDB.Commande_sqlite = new SQLiteCommand(RequeteModifierArticle, InterfaceDB.GetInstaneConnexion());
                InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@desc", description);
                InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@refsous", refsousfamille);
                InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@refmar", refmarque);
                InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@prix", prixht);
                InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@quan", quantite);
                InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@ref", refArticle);
                InterfaceDB.Commande_sqlite.ExecuteNonQuery();
                resultat = " / Mise à jour dans la Table Artcile : " + refArticle;
            }
            catch (SQLiteException ex)
            {
                resultat = " * Erreur de mise à jour dans la Table Article de " + refArticle + " : " + ex.Message;
            }
            return(resultat);
        }
Exemple #9
0
        /// <summary>
        ///  Cette methode permet d'inserer une nouvelle sous famille dans la table SousFamilles
        /// </summary>
        /// <param name="refSousFamille">l'identifiant de la sous famille </param>
        /// <param name="refFamille">l'identifiant de la famille</param>
        /// <param name="nom">le nom de la sous famille </param>
        /// <returns>le resultat de l'operation </returns>
        /// <remarks>
        ///     L'insertion est faite si la sous famille n'existait pas sinon rien
        /// </remarks>
        public string InsererSousFamille(int refSousFamille, int refFamille, string nom)
        {
            string      resultat     = "";
            SousFamille sousfamille1 = GetSousFamille(nom);
            SousFamille sousfamille2 = GetSousFamille(refSousFamille);

            if (sousfamille2 != null || sousfamille1 != null)
            {
                resultat = " = Existe dejà dans la table SousFamille " + refSousFamille;
            }
            else
            {
                try
                {
                    RequeteInsererSousFamille = "INSERT INTO SousFamilles(RefSousFamille,RefFamille,Nom) VALUES"
                                                + "(@refsousfamille,@reffamille,@nom)";
                    InterfaceDB.Commande_sqlite = new SQLiteCommand(RequeteInsererSousFamille, InterfaceDB.GetInstaneConnexion());
                    InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@refsousfamille", refSousFamille);
                    InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@reffamille", refFamille);
                    InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@nom", nom);

                    InterfaceDB.Commande_sqlite.ExecuteNonQuery();
                    resultat = " + Insertion dans la Table Sous Famille : " + refSousFamille;
                }
                catch (SQLiteException ex)
                {
                    resultat = " * Erreur d'insertion dans la Table Sous Famille de " + refSousFamille + " : " + ex.Message;
                }
            }
            return(resultat);
        }
Exemple #10
0
        /// <summary>
        ///  Cette methode nous donne la liste de toutes les sous familles de la table SousFamilles appartenant à une famille
        /// </summary>
        /// <param name="refFamille"></param>
        /// <returns>liste des sous familles</returns>
        public List <SousFamille> GetToutesSousFamillebyFamille(int refFamille)
        {
            List <SousFamille> listsousfamille = null;
            SousFamille        sousfamille     = null;
            int    reffamille;
            int    refsousfamille;
            string nomsousfamille;
            InterfaceDB_Famille interFamille = new InterfaceDB_Famille();

            RequeteDonneesSousFamilles = "select * from SousFamilles where RefFamille = @ref";

            InterfaceDB.Commande_sqlite = new SQLiteCommand(RequeteDonneesSousFamilles, InterfaceDB.GetInstaneConnexion());
            InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@ref", refFamille);
            try
            {
                SQLiteDataReader Lecture_donnee = InterfaceDB.Commande_sqlite.ExecuteReader();
                listsousfamille = new List <SousFamille>();
                while (Lecture_donnee.Read())
                {
                    refsousfamille = Int32.Parse(Lecture_donnee["RefSousFamille"].ToString());
                    reffamille     = Int32.Parse(Lecture_donnee["RefFamille"].ToString());
                    nomsousfamille = Lecture_donnee["Nom"].ToString();

                    sousfamille = new SousFamille(refsousfamille, interFamille.GetFamille(reffamille), nomsousfamille);
                    listsousfamille.Add(sousfamille);
                }
            }
            catch (SQLiteException ex)
            {
                listsousfamille = null;
                Console.WriteLine(" * Erreur de lecture dans la table Famille: " + ex.Message);
            }

            return(listsousfamille);
        }
Exemple #11
0
        /// <summary>
        ///  Cette methode permet d'avoir toutes les informations d'une sous famille en fonction de son nom
        /// </summary>
        /// <param name="nom"> le nom de la sous famille </param>
        /// <returns>la sous famille correspondante </returns>
        public SousFamille GetSousFamille(string nom)
        {
            SousFamille         sousfamille = null;
            int                 reffamille;
            int                 refsousfamille;
            string              nomsousfamille;
            InterfaceDB_Famille interFamille = new InterfaceDB_Famille();

            RequeteDonneesSousFamilles = "select * from SousFamilles where SousFamilles.Nom like @nom";

            InterfaceDB.Commande_sqlite = new SQLiteCommand(RequeteDonneesSousFamilles, InterfaceDB.GetInstaneConnexion());
            InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@nom", nom);

            try
            {
                Lecture_Donnee = InterfaceDB.Commande_sqlite.ExecuteReader();

                while (Lecture_Donnee.Read())
                {
                    refsousfamille = Int32.Parse(Lecture_Donnee["RefSousFamille"].ToString());
                    reffamille     = Int32.Parse(Lecture_Donnee["RefFamille"].ToString());
                    nomsousfamille = Lecture_Donnee["Nom"].ToString();

                    sousfamille = new SousFamille(refsousfamille, interFamille.GetFamille(reffamille), nomsousfamille);
                }
            }
            catch (SQLiteException ex)
            {
                sousfamille = null;
                Console.WriteLine(" * Erreur de lecture dans la table Sous Famille : " + ex.Message);
            }

            return(sousfamille);
        }
Exemple #12
0
        /// <summary>
        ///     Cette methode permet de modifier les données d'une sous famille dans la table SousFamilles
        /// </summary>
        /// <param name="refsousfamille"> l'identifiant de la sous famille à modifier</param>
        /// <param name="refnouvellefamile"> l'identifiant de la nouvelle famille </param>
        /// <param name="nouveaunomsousfamille"> le nouveau nom de la sous famille </param>
        /// <returns>le resultat de l'operation </returns>
        public string ModifierSousFamille(int refsousfamille, int refnouvellefamile, string nouveaunomsousfamille)
        {
            string resultat = "";

            try
            {
                RequeteModifierSousFamille  = "UPDATE SousFamilles SET Nom = @nouveaunom , RefFamille =@nouvellefamille WHERE RefSousFamille = @ref";
                InterfaceDB.Commande_sqlite = new SQLiteCommand(RequeteModifierSousFamille, InterfaceDB.GetInstaneConnexion());
                InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@nouveaunom", nouveaunomsousfamille);
                InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@nouvellefamille", refnouvellefamile);
                InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@ref", refsousfamille);
                InterfaceDB.Commande_sqlite.ExecuteNonQuery();
                resultat = " / Mise à jour dans la Table Sous Famille de " + refsousfamille + " : " + refsousfamille;
            }
            catch (SQLiteException ex)
            {
                resultat = " * Erreur de mise à jour dans la Table Sous Famille de " + refsousfamille + "  : " + ex.Message;
            }
            return(resultat);
        }
        /// <summary>
        ///     Cette methode permet d'inserer une nouvelle marque dans la table Marques
        /// </summary>
        /// <param name="refmarque"> l'identifiant de la marque </param>
        /// <param name="nom"> le nom de la marque </param>
        /// <returns></returns>
        /// <remarks>
        ///     L'insertion ne sera faite que si la marque n'existe pas
        /// </remarks>
        public string InsererMarque(int refmarque, string nom)
        {
            string resultat = "";
            Marque marque   = GetMarque(nom);
            Marque marque2  = GetMarque(refmarque);

            if (marque2 != null || marque != null)
            {
                resultat = " = Existe dejà dans la table Marque " + refmarque;
            }
            else
            {
                try
                {
                    RequeteInsererMarque = "INSERT INTO Marques(RefMarque,Nom) VALUES"
                                           + "(@refmarque,@nom)";
                    InterfaceDB.Commande_sqlite = new SQLiteCommand(RequeteInsererMarque, InterfaceDB.GetInstaneConnexion());

                    InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@refmarque", refmarque);
                    InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@nom", nom);

                    InterfaceDB.Commande_sqlite.ExecuteNonQuery();

                    resultat = " + Insertion dans la Table Marque : " + refmarque;
                }
                catch (SQLiteException ex)
                {
                    resultat = " * Erreur d'insertion dans la Table Marque de " + refmarque + " : " + ex.Message;
                }
            }
            return(resultat);
        }
        /// <summary>
        /// Cette methode permet de modifier les données d'une marque dans la table Marques
        /// </summary>
        /// <param name="refmarque">l'identifiant de la marque </param>
        /// <param name="nouveaunommarque">le nouveau nom de la marque </param>
        /// <returns>le resultat de l'operation </returns>
        public string ModifierMarque(int refmarque, string nouveaunommarque)
        {
            string resultat = "";

            try
            {
                RequeteModifierMarque       = "UPDATE Marques SET Nom = @nouveaunom WHERE RefMarque = @ref";
                InterfaceDB.Commande_sqlite = new SQLiteCommand(RequeteModifierMarque, InterfaceDB.GetInstaneConnexion());
                InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@nouveaunom", nouveaunommarque);
                InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@ref", refmarque);
                InterfaceDB.Commande_sqlite.ExecuteNonQuery();
                resultat = " / Mise à jour dans la Table Marque : " + refmarque;
            }
            catch (SQLiteException ex)
            {
                resultat = " * Erreur de mise à jour dans la Table Marque de " + refmarque + " : " + ex.Message;
            }
            return(resultat);
        }
Exemple #15
0
        /// <summary>
        ///     Cette methode permet de modifier les données d'une famille dans la table Famille
        /// </summary>
        /// <param name="reffamille"> l'identifiant de la famille à modifier </param>
        /// <param name="nouveaunomfamille">le nouveau nom  de la famille </param>
        /// <returns>le resultat de l'opération </returns>
        /// <remarks>
        ///     la mise à jour est faite si la famille existe
        /// </remarks>
        public string ModifierFamille(int reffamille, string nouveaunomfamille)
        {
            string resultat = "";

            try
            {
                Famille famille = GetFamille(reffamille);
                if (famille == null)
                {
                    resultat = " * Pas de mise à jour car n'existe pas dans la table Famille " + reffamille;
                }
                else
                {
                    RequeteModifierFamille      = "UPDATE Familles SET Nom = @nouveaunom WHERE RefFamille = @ref";
                    InterfaceDB.Commande_sqlite = new SQLiteCommand(RequeteModifierFamille, InterfaceDB.GetInstaneConnexion());
                    InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@nouveaunom", nouveaunomfamille);
                    InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@ref", reffamille);
                    InterfaceDB.Commande_sqlite.ExecuteNonQuery();
                    resultat = " / Mise à jour dans la Table Marque  de " + reffamille + " : " + reffamille;
                }
            }
            catch (SQLiteException ex)
            {
                resultat = " * Erreur de mise à jour dans la Table Marque de " + reffamille + " : " + ex.Message;
            }
            return(resultat);
        }