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); }
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); } } } }