/// <summary> /// Cette methode permet de supprimer une famille dans la table Familles /// </summary> /// <param name="refFamille">l'identifiant de la famille à supprimer </param> /// <returns>le resultat de l'opération </returns> /// <remarks> /// la suppresion est faite si la famille à supprimer n'est liée à aucune sous famille /// sinon la suppression sera refusé /// </remarks> public string SupprimerFamille(int refFamille) { string requete = "DELETE FROM Familles WHERE RefFamille=@ref"; string resultat; InterfaceDB_Sous_Famille interSousfam = new InterfaceDB_Sous_Famille(); List <SousFamille> liste = interSousfam.GetToutesSousFamillebyFamille(refFamille); try { if (liste != null && liste.Count > 0) { resultat = "Echec de la suppresion de " + refFamille + " car cette famille est liée à des sous familles "; } else { /** * Suppression de la famille * */ InterfaceDB.Commande_sqlite = new SQLiteCommand(requete, InterfaceDB.GetInstaneConnexion()); InterfaceDB.Commande_sqlite.Parameters.AddWithValue("@ref", refFamille); InterfaceDB.Commande_sqlite.ExecuteNonQuery(); resultat = " - Suppresion de " + refFamille + " dans la table Famille"; } } catch (SQLiteException ex) { resultat = " * Erreur de suppression de " + refFamille + " dans la table Famille : " + ex.Message; } return(resultat); }
/// <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); }