private void opérationsSupprimerToolStripMenuItem_Click(object sender, EventArgs e) { var fab = LesFabriques.FabriqueDe(m_articleCourant.GetType()); var commande = fab.CréerCommandeSupprimer(m_articleCourant); if (commande.Exécuter()) { m_commandesAnnulables.Empiler(commande); } }
/// <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); } } }