示例#1
0
        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);
        }
示例#2
0
        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);
                    }
                }
            }
        }