public PileLimitée <ICommande> m_commandesRétablissbles = new PileLimitée <ICommande>(5); // Commandes pour le Retablir/Ctrl+Y private Document() { try { // Recuperer le document Récupérer(); try { // Connecter la base des données RequeteSQL.Connecterbd(strAccessConn); // Chaque fabrique crée les colonnes du type d'article associé dans la base de donnée IEnumerator <IFabriqueCommande> fab = LesFabriques.GetEnumerator(); while (fab.MoveNext()) { fab.Current.CréerCommandeSQLPourCréerColonnes(RequeteSQL.m_bd).Exécuter(); } } catch { AvertirCritique("La lecture de « {0} » a échoué.\n" + "Le programme va continuer sans utiliser la base des données.\n" + "Les données sont toujours sauvegardées dans le document « {1} »", NomFichierBD, NomFichierPhilatélie); } } catch { AvertirCritique("La lecture de « {0} » a échoué.\n" + "Le programme va s'arrêter.\n", NomFichierPhilatélie); Environment.Exit(0); // Permet d'arrêter le programme directement. } }
public static void CompléterLeMenu(ToolStripMenuItem p_menu, EventHandler p_eh) { IEnumerator <IFabriqueCommande> f = LesFabriques.GetEnumerator(); f.MoveNext(); string descriptionPourMenu; while (f.Current != null) { descriptionPourMenu = TrouverNomPourMenuItems(f.Current.DescriptionPourMenu()); var tsi = new ToolStripMenuItem(descriptionPourMenu, null, p_eh); tsi.Tag = f.Current; p_menu.DropDownItems.Add(tsi); descriptionPourMenu = ""; f.MoveNext(); } }
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); } } } }