private void opérationsSupprimerToolStripMenuItem_Click(object sender, EventArgs e) { IFabriqueCommande fab = LesFabriques.GetInstance().FabriqueDe(m_articleCourant.GetType()); ICommande commande = fab.CréerCommandeSupprimer(m_articleCourant); commande.Exécuter(); }
/*--Opération Modifiante effectuer dans le menu--*/ public void OpérationsAjouter(object p_sender, EventArgs p_e) { ToolStripMenuItem tsi = (ToolStripMenuItem)p_sender; FabriqueEtArticle fabriqueEtArticle = (FabriqueEtArticle)tsi.Tag; IFabriqueCommande fab = (IFabriqueCommande)fabriqueEtArticle.Fabrique; ICommande commande = fab.CréerCommandeAjouter(fabriqueEtArticle.Article); commande.Exécuter(); }
public static ArticlePhilatélique ArticleSelonNumero(int p_numero) { string type = BdScalar.Get <string>(m_bd, "SELECT type " + "FROM Articles " + "WHERE numero=?", p_numero); // Obtenir la bonne fabrique IFabriqueCommande f = LesFabriques.TrouverFabrique(type); // Obtenir la commande sql du type à chercher CommandeLireSQL cmdLireArticle = (CommandeLireSQL)f.CréerCommandeSQLPourLireArticle(); // Obtenir l'article avec la bonne commande sql ArticlePhilatélique article = cmdLireArticle.ExecuterSQLLireArticle(m_bd, p_numero); return(article); }
/// <summary> /// Ajouter un Article à la base de donnée /// </summary> /// <param name="p_article"></param> /// <returns>true quand operation reussit, false sinon</returns> public static bool AjouterArticle(ArticlePhilatélique p_article) { // Obtenir la bonne fabrique IFabriqueCommande f = LesFabriques.FabriqueDe(p_article.GetType()); CommandeEcrireSQL cmdEcrireArticle = (CommandeEcrireSQL)f.CréerCommandeSQLPourEcrireArticle(); // Executer le sql correspondant à l'article try { return(cmdEcrireArticle.ExecuterSQLEnregistrerArticle(m_bd, p_article)); } catch (Exception e) { MB.AvertirCritique("Article ne peut etre ajouté à la base des données. « {0} ».", e.Message); return(false); } }
/// <summary> /// Renvoie tous les artiles. /// </summary> /// <returns>Toutes les productions.</returns> public static IEnumerable <ArticlePhilatélique> ToutesLesArticles() { using (BdReader bdr = new BdReader(m_bd, "SELECT type, numero " + "FROM Articles " + "ORDER BY type")) { while (bdr.Read()) { // Obtenir la bonne fabrique IFabriqueCommande f = LesFabriques.FabriqueDe(Type.GetType(bdr.GetString(0))); // Obtenir la commande sql du type à chercher CommandeLireSQL cmdLireArticle = (CommandeLireSQL)f.CréerCommandeSQLPourLireArticle(); // Obtenir l'article avec la bonne commande sql ArticlePhilatélique article = cmdLireArticle.ExecuterSQLLireArticle(m_bd, bdr.GetInt32(1)); yield return(article); } } }
public static void CompléterLeSousMenu(ToolStripMenuItem p_menu, EventHandler p_eh) { IFabriqueCommande f = null; // fabrique qui correspond a item IEnumerable <ArticlePhilatélique> derniersArticles = Document.Instance.TousLesArticles(); foreach (ToolStripMenuItem i in p_menu.DropDownItems) { IEnumerator <IFabriqueCommande> fs = LesFabriques.GetEnumerator(); List <string> motifsExistants = new List <string>(); fs.MoveNext(); bool continuer = true; while (fs.Current != null && continuer) { string nomType = i.Tag.GetType().ToString(); f = LesFabriques.TrouverFabrique(nomType); if (f != null) { break; } fs.MoveNext(); } foreach (var article in Document.Instance.TousLesArticles().Reverse()) { if (!motifsExistants.Contains(article.Motif)) { string descriptionPourMenu = TrouverNomPourMenuItems(f.DescriptionPourMenu() + " " + article.Motif); motifsExistants.Add(article.Motif); var tsi = new ToolStripMenuItem(descriptionPourMenu, null, p_eh, article.Motif + "@" + article.Parution); tsi.Tag = f; i.DropDownItems.Add(tsi); } } } }
public static void Ajouter(Type p_typeArticle, IFabriqueCommande p_fabrique) => m_fabriques.Add(p_typeArticle, p_fabrique);
public FabriqueEtArticle(IFabriqueCommande p_fabrique, ArticlePhilatélique p_article) { Fabrique = p_fabrique; Article = p_article; }