Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        /*--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();
        }
Ejemplo n.º 3
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);
        }
Ejemplo n.º 4
0
        /// <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);
            }
        }
Ejemplo n.º 5
0
 /// <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);
         }
     }
 }
Ejemplo n.º 6
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);
                    }
                }
            }
        }
Ejemplo n.º 7
0
 public static void Ajouter(Type p_typeArticle, IFabriqueCommande p_fabrique)
 => m_fabriques.Add(p_typeArticle, p_fabrique);
Ejemplo n.º 8
0
 public FabriqueEtArticle(IFabriqueCommande p_fabrique, ArticlePhilatélique p_article)
 {
     Fabrique = p_fabrique;
     Article  = p_article;
 }