private void cmdSimpleFlecheGauche_Click(object sender, RoutedEventArgs e) { if (grdListeArticle2.SelectedIndex != -1) { try { ArticleQTBE articleQt = ListeArticles2.ElementAt(grdListeArticle2.SelectedIndex); ArticleBE article = new ArticleBE(); article.codeArticle = articleQt.codeArticle; article.codeCatArticle = articleQt.codeCatArticle; article.designation = articleQt.designation; ListeArticles2.Remove(ListeArticles2.ElementAt(grdListeArticle2.SelectedIndex)); ListeArticles1.Add(article); grdListeArticle1.ItemsSource = ListeArticles1; grdListeArticle2.ItemsSource = ListeArticles2; if (typeOperation == MODIFIER) { int numerovente = articleBL.rechercherNumeroAchat(acheters.ElementAt(cmbArticle.SelectedIndex)); articleBL.incrementerStock(articleQt.codeArticle, articleQt.quantite, annee, dpiDateOp.SelectedDate.Value, numerovente); } } catch (Exception exp) { Console.WriteLine(exp.Message); } } }
private void cmdDoubleFlecheGauche_Click(object sender, RoutedEventArgs e) { if (ListeArticles2.Count != 0) { int numerovente = articleBL.rechercherNumeroAchat(acheters.ElementAt(cmbArticle.SelectedIndex)); for (int i = 0; i < ListeArticles2.Count; i++) { ArticleQTBE articleQt = ListeArticles2.ElementAt(i); ArticleBE article = new ArticleBE(); article.codeArticle = articleQt.codeArticle; article.codeCatArticle = articleQt.codeCatArticle; article.designation = articleQt.designation; ListeArticles1.Add(article); if (typeOperation == MODIFIER) { articleBL.incrementerStock(articleQt.codeArticle, articleQt.quantite, annee, dpiDateOp.SelectedDate.Value, numerovente); } } ListeArticles2.Clear(); //RemplirDataGrid1(LArticleBE); grdListeArticle1.ItemsSource = ListeArticles1; grdListeArticle2.ItemsSource = ListeArticles2; } }
private void cmbCodeSet_SelectionChanged(object sender, SelectionChangedEventArgs e) { // on récupère le code du Set choisi String codeSetArticle = Convert.ToString(cmbCodeSet.SelectedItem); //on recherche le set dans la BD if (modifierSetArticleBL.listerSetArticleSuivantCritere("codesetarticle = '" + codeSetArticle + "'").Count != 0) { SetarticleBE setArticle = modifierSetArticleBL.listerSetArticleSuivantCritere("codesetarticle = '" + codeSetArticle + "'")[0]; //on charge les informations du set dans le formulaire txtNomSet.Text = setArticle.nomsetarticle; txtAnnee.Text = Convert.ToString(setArticle.annee); txtMontant.Text = Convert.ToString(setArticle.montant).Split(',')[0]; } //on recherche la composition du set Article List <ComposerBE> LCompser = modifierSetArticleBL.listerComposerSuivantCrietere("codesetarticle ='" + codeSetArticle + "'"); //on charge les articles obtenu dans la datagrid2 List <ArticleQTBE> LArticleQt = new List <ArticleQTBE>(); ListeArticles2.Clear(); for (int i = 0; i < LCompser.Count; i++) { ArticleQTBE articleQt = new ArticleQTBE(); ComposerBE composer = LCompser.ElementAt(i); List <ArticleBE> listArticle = creerModifierArticleBL.listerArticleSuivantCritere("codearticle ='" + composer.codeArticle + "'"); if (listArticle != null && listArticle.Count != 0) { ArticleBE article = listArticle.ElementAt(0); articleQt.codeArticle = article.codeArticle; articleQt.codeCatArticle = article.codeCatArticle; articleQt.designation = article.designation; articleQt.quantite = composer.quantite; } ListeArticles2.Add(articleQt); } grdListeArticle2.ItemsSource = ListeArticles2; //on charge le reste d'article dans le datagrid1 List <ArticleBE> LArticle = creerModifierArticleBL.listerTousLesArticle(); ListeArticles1.Clear(); for (int i = 0; i < LArticle.Count; i++) { if (modifierSetArticleBL.listerComposerSuivantCrietere("codearticle ='" + LArticle.ElementAt(i).codeArticle + "' AND codesetarticle ='" + codeSetArticle + "'") != null) { if (modifierSetArticleBL.listerComposerSuivantCrietere("codearticle ='" + LArticle.ElementAt(i).codeArticle + "' AND codesetarticle ='" + codeSetArticle + "'").Count == 0) { ListeArticles1.Add(LArticle.ElementAt(i)); } } } grdListeArticle1.ItemsSource = ListeArticles1; }
// supprimer un Article public bool supprinerArticle(ArticleBE article) { if (articleDA.supprimer(article)) { journalDA.journaliser("suppression de l'article de code" + article.codeArticle + ", de catégorie " + article.codeCatArticle + " et de désignation" + article.designation); return(true); } return(false); }
// modifier un Article public bool modifierArticle(ArticleBE article) { if (articleDA.modifier(article)) { journalDA.journaliser("modification de l'article de code" + article.codeArticle + ", de catégorie " + article.codeCatArticle + " et de désignation" + article.designation); return(true); } return(false); }
// modifier un Article public bool modifierArticle(ArticleBE article) { if (articleDA.modifier(article)) { journalDA.journaliser("modification d'un article de code " + article.codeArticle + ". ancien code : " + article.codeCatArticle + ", ancienne catégorie " + article.codeCatArticle + ", ancienne désignation " + article.designation); return(true); } return(false); }
//creer un Article public bool creerArticle(string codeArticle, string codeCatArticle, string designation) { ArticleBE articleBE = new ArticleBE(codeArticle, codeCatArticle, designation); if (articleDA.ajouter(articleBE)) { journalDA.journaliser("ajout d'un article de code" + codeArticle + ", de catégorie " + codeCatArticle + " et de désignation" + designation); return(true); } return(false); }
// Fonction permettant de remplir le DataGrid avec les informations de la base de données // @param : - listObjet : la liste des objets à afficher dans le DataGrid public void RemplirDataGrid(List <ArticleBE> listObjet) { // Ajout de données dans la DataTable : var table = new DataTable(); table.Columns.Add(new DataColumn("codeArticle", typeof(string))); table.Columns.Add(new DataColumn("codeCategorie", typeof(string))); table.Columns.Add(new DataColumn("designation", typeof(string))); table.Columns.Add(new DataColumn("quantiteSaisie", typeof(string))); table.Columns.Add(new DataColumn("PuArticle", typeof(string))); if (listObjet != null) { for (int i = 0; i < listObjet.Count; i++) { DataRow dr = table.NewRow(); dr["codeArticle"] = listObjet.ElementAt(i).codeArticle; dr["codeCategorie"] = listObjet.ElementAt(i).codeCatArticle; dr["designation"] = listObjet.ElementAt(i).designation; dr["quantiteSaisie"] = listObjet.ElementAt(i).quantiteSaisie; dr["PuArticle"] = listObjet.ElementAt(i).PuArticle; table.Rows.Add(dr); } } string vCodeArtcicle = ""; string vCategorie = ""; string vDesignation = ""; ListeArticles.Clear(); //Personnes_Table = LoadDataTable(); foreach (DataRow row in table.Rows) { vCodeArtcicle = Convert.ToString(row["codeArticle"]); vCategorie = Convert.ToString(row["codeCategorie"]); vDesignation = Convert.ToString(row["designation"]); ArticleBE article = new ArticleBE(vCodeArtcicle, vCategorie, vDesignation); article.quantiteSaisie = Convert.ToString(row["quantiteSaisie"]); article.PuArticle = Convert.ToString(row["PuArticle"]); ListeArticles.Add(article); } }
private void grdListeArticle_MouseDoubleClick(object sender, MouseButtonEventArgs e) { etat = 1; ArticleBE article = new ArticleBE(); article = creerModifierArticleBL.rechercherArticle(ListeArticles.ElementAt(grdListeArticle.SelectedIndex)); // on charge les informations dans le formulaire txtCodeArticle.Text = article.codeArticle; txtDesignation.Text = article.designation; cmbCategorieArticle.Text = article.codeCatArticle; ancienArticle = article; grdListeArticle.UnselectAll(); }
public WindowAddEditArticleUI() { InitializeComponent(); CultureInfo ci = CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name); ci.DateTimeFormat.ShortDatePattern = "dd-MM-yyyy"; Thread.CurrentThread.CurrentCulture = ci; creerModifierArticleBL = new CreerModifierArticleBL(); creerModifierCategorieArticleBL = new CreerModifierCategorieArticleBL(); approvisionnementArticleBL = new ApprovisionnementArticleBL(); creerModifierMagasinBL = new CreerModifierMagasinBL(); ancienArticle = new ArticleBE(); etat = 0; // A mettre pour que le binding avec le DataGrid fonctionne ! grdListeArticle.DataContext = this; // Initialisation de la collection, qui va s'afficher dans la DataGrid : ListeArticles = new ObservableCollection <ArticleBE>(); List <ArticleBE> LArticleBE = creerModifierArticleBL.listerTousLesArticle(); // on met la liste "LArticleBE" dans le DataGrid RemplirDataGrid(LArticleBE); // ------------------- Chargement de la liste des codes d'Article dans le comboBox de la fenêtre //(utile pour le filtre) cmbFilterCodeArticle.ItemsSource = getListCodeArticle(LArticleBE); // ------------------- Chargement de la liste des codes de Cycle dans le comboBox de la fenêtre //(utile pour le filtre) List <CategorieArticleBE> LCatArticleBE = creerModifierCategorieArticleBL.listerTousLesCategorieArticle(); cmbCategorieArticle.ItemsSource = getListCodeCatArticle1(LCatArticleBE); cmbFilterCategorieArticle.ItemsSource = getListCodeCatArticle2(LCatArticleBE); // ------------------- Chargement de la liste des codes de Magasin dans le comboBox de la fenêtre //(utile pour le filtre) creerModifierMagasinBL = new CreerModifierMagasinBL(); List <MagasinBE> LMagasinBE = creerModifierMagasinBL.listerToutesLesMagasin(); cmbMagasin.ItemsSource = getListCodeMagasin(LMagasinBE); txtAnnee.Text = Convert.ToString(approvisionnementArticleBL.getAnneeEnCours()); }
private void cmdSimpleFlecheDroite_Click(object sender, RoutedEventArgs e) { if (grdListeArticle1.SelectedIndex != -1) { ArticleQTBE articleQt = new ArticleQTBE(); ArticleBE article = ListeArticles1.ElementAt(grdListeArticle1.SelectedIndex); articleQt.codeArticle = article.codeArticle; articleQt.codeCatArticle = article.codeCatArticle; articleQt.designation = article.designation; articleQt.quantite = 1; ListeArticles2.Add(articleQt); ListeArticles1.Remove(ListeArticles1.ElementAt(grdListeArticle1.SelectedIndex)); grdListeArticle1.ItemsSource = ListeArticles1; grdListeArticle2.ItemsSource = ListeArticles2; } }
private void cmdDoubleFlecheGau_Click(object sender, RoutedEventArgs e) { if (ListeArticles2.Count != 0) { for (int i = 0; i < ListeArticles2.Count; i++) { ArticleQTBE articleQt = ListeArticles2.ElementAt(i); ArticleBE article = new ArticleBE(); article.codeArticle = articleQt.codeArticle; article.codeCatArticle = articleQt.codeCatArticle; article.designation = articleQt.designation; ListeArticles1.Add(article); } ListeArticles2.Clear(); //RemplirDataGrid1(LArticleBE); grdListeArticle1.ItemsSource = ListeArticles1; grdListeArticle2.ItemsSource = ListeArticles2; } }
private void cmdSimpleFlecheGauche_Click(object sender, RoutedEventArgs e) { if (grdListeArticle2.SelectedIndex != -1) { try { ArticleQTBE articleQt = ListeArticles2.ElementAt(grdListeArticle2.SelectedIndex); ArticleBE article = new ArticleBE(); article.codeArticle = articleQt.codeArticle; article.codeCatArticle = articleQt.codeCatArticle; article.designation = articleQt.designation; ListeArticles2.Remove(ListeArticles2.ElementAt(grdListeArticle2.SelectedIndex)); ListeArticles1.Add(article); //RemplirDataGrid1(LArticleBE); grdListeArticle1.ItemsSource = ListeArticles1; grdListeArticle2.ItemsSource = ListeArticles2; } catch (Exception exp) { Console.WriteLine(exp.Message); } } }
private void lignesStockerDuneVente() { stockers = new List <StockerBE>(); List <ArticleBE> articles = new List <ArticleBE>(); ListeArticles2.Clear(); int numero = articleBL.rechercherNumeroAchat(acheters.ElementAt(cmbArticle.SelectedIndex)); stockers = articleBL.rechercherLigneStocker(numero); ArticleBE article; ArticleQTBE a; articles = articleBL.listerTousLesArticle(); foreach (StockerBE s in stockers) { a = new ArticleQTBE(); article = new ArticleBE(); article.codeArticle = s.codeArticle; article = articleBL.rechercherArticle(article); a.codeArticle = article.codeArticle; a.designation = article.designation; a.codeCatArticle = article.codeCatArticle; a.quantite = s.quantiteVendue; ListeArticles2.Add(a); article = articles.Find(c => c.codeArticle.Equals(article.codeArticle)); articles.Remove(article); } ListeArticles1.Clear(); foreach (ArticleBE art in articles) { ListeArticles1.Add(art); } grdListeArticle2.ItemsSource = ListeArticles2; grdListeArticle2.Items.Refresh(); grdListeArticle1.ItemsSource = ListeArticles1; grdListeArticle1.Items.Refresh(); }
public void RemplirDataGrid1(List <ArticleBE> listObjet) { var table = new DataTable(); table.Columns.Add(new DataColumn("code", typeof(string))); table.Columns.Add(new DataColumn("designation", typeof(string))); if (listObjet != null) { for (int i = 0; i < listObjet.Count; i++) { DataRow dr = table.NewRow(); dr["code"] = listObjet.ElementAt(i).codeArticle; dr["designation"] = listObjet.ElementAt(i).designation; table.Rows.Add(dr); } } string vCode = ""; string vDesignation = ""; ListeArticles1.Clear(); foreach (DataRow row in table.Rows) { vCode = Convert.ToString(row["code"]); vDesignation = Convert.ToString(row["designation"]); ArticleBE article = new ArticleBE(); article.codeArticle = vCode; article.designation = vDesignation; ListeArticles1.Add(article); } grdListeArticle1.ItemsSource = ListeArticles1; grdListeArticle1.Items.Refresh(); }
// rechercher un Article public ArticleBE rechercherArticle(ArticleBE article) { return(articleDA.rechercher(article)); }
private void cmdValider_Click(object sender, RoutedEventArgs e) { if ((cmbMagasin.Text != "" || txtQuantite.Text != "" || txtPrixUnitaire.Text != "")) { if ((txtCodeArticle.Text != null && txtDesignation.Text != null && cmbCategorieArticle.Text != null && cmbMagasin.Text != null && txtQuantite.Text != null && txtPrixUnitaire.Text != null && txtAnnee.Text != null) && (txtCodeArticle.Text != "" && txtDesignation.Text != "" && cmbCategorieArticle.Text != "" && cmbMagasin.Text != "" && txtQuantite.Text != "" && txtPrixUnitaire.Text != "" && txtAnnee.Text != null)) { ArticleBE article = new ArticleBE(); article.codeArticle = txtCodeArticle.Text; article.codeCatArticle = cmbCategorieArticle.Text; article.designation = txtDesignation.Text; //********************** DEBUT utile pour l'aafichage dans le datagrid article.quantiteSaisie = txtQuantite.Text; article.PuArticle = txtPrixUnitaire.Text; //********************** FIN utile pour l'aafichage dans le datagrid StockerBE stock = new StockerBE(); stock.annee = Convert.ToInt16(txtAnnee.Text); //on teste si il ya aucun enregistrement dans la table stocker if (approvisionnementArticleBL.tableStokerIsEmpty()) { //alors c'est le premier enregistrement //stock.numero = Convert.ToInt16(vNumero); stock.codeMagasin = cmbMagasin.Text; stock.codeArticle = txtCodeArticle.Text; stock.stockDebut = 0; stock.quantiteAchetee = Convert.ToInt16(txtQuantite.Text); stock.quantiteVendue = 0; //DatePicker dpk = new DatePicker(); //dpk.Text = Convert.ToString(System.DateTime.Today.Date); stock.dateOperation = System.DateTime.Today.Date; //stock.dateOperationString = System.DateTime.Today.ToShortDateString; stock.annee = Convert.ToInt16(txtAnnee.Text); stock.puArticle = Convert.ToInt16(txtPrixUnitaire.Text); stock.stockRestant = Convert.ToInt16(txtQuantite.Text); } else { //ce n'est pas le premier enregistrement //alors on recherche le dernier enregistrement StockerBE dernierStocker = approvisionnementArticleBL.dernierEnregistrementStocker(txtCodeArticle.Text, cmbMagasin.Text); if (dernierStocker != null) { //stock.numero = Convert.ToInt16(vNumero); stock.codeMagasin = cmbMagasin.Text; stock.codeArticle = txtCodeArticle.Text; if (dernierStocker.annee != stock.annee) { stock.stockDebut = Convert.ToInt16(dernierStocker.stockRestant); } else { stock.stockDebut = Convert.ToInt16(dernierStocker.stockDebut); } stock.quantiteAchetee = Convert.ToInt16(txtQuantite.Text); stock.quantiteVendue = 0; stock.dateOperation = System.DateTime.Today.Date; //stock.dateOperationString = System.DateTime.Today.ToShortDateString; stock.annee = Convert.ToInt16(txtAnnee.Text); stock.puArticle = Convert.ToInt16(txtPrixUnitaire.Text); stock.stockRestant = Convert.ToInt16(dernierStocker.stockRestant + Convert.ToInt16(txtQuantite.Text)); } else { //le stock de début est égale à 0 //le stock restant est égale à la quantité achetée //alors c'est le premier enregistrement //stock.numero = Convert.ToInt16(vNumero); stock.codeMagasin = cmbMagasin.Text; stock.codeArticle = txtCodeArticle.Text; stock.stockDebut = 0; stock.quantiteAchetee = Convert.ToInt16(txtQuantite.Text); stock.quantiteVendue = 0; //DatePicker dpk = new DatePicker(); //dpk.Text = Convert.ToString(System.DateTime.Today.Date); stock.dateOperation = System.DateTime.Today.Date; //stock.dateOperationString = System.DateTime.Today.ToShortDateString; stock.annee = Convert.ToInt16(txtAnnee.Text); stock.puArticle = Convert.ToInt16(txtPrixUnitaire.Text); stock.stockRestant = Convert.ToInt16(txtQuantite.Text); } } if (etat == 1) { creerModifierArticleBL.modifierArticle(ancienArticle, article); List <ArticleBE> LArticleBE = creerModifierArticleBL.listerTousLesArticle(); // on met la liste "LArticleBE" dans le DataGrid RemplirDataGrid(LArticleBE); // ------------------- Chargement de la liste des codes de Article dans le comboBox de la fenêtre //(utile pour le filtre) cmbFilterCodeArticle.ItemsSource = getListCodeArticle(LArticleBE); txtCodeArticle.Text = ""; cmbMagasin.Text = ""; txtQuantite.Text = ""; //dpkDateAchat.Text = ""; txtPrixUnitaire.Text = ""; //dpkDatePeremption.Text = ""; cmbCategorieArticle.Text = ""; txtDesignation.Text = ""; txtAnnee.Text = Convert.ToString(approvisionnementArticleBL.getAnneeEnCours()); etat = 0; } else if (creerModifierArticleBL.rechercherArticle(new ArticleBE(txtCodeArticle.Text, cmbCategorieArticle.Text, txtDesignation.Text)) == null) { if (creerModifierArticleBL.creerArticle(txtCodeArticle.Text, cmbCategorieArticle.Text, txtDesignation.Text)) { MessageBox.Show("Enregistrement Article réussie"); txtCodeArticle.Text = ""; txtDesignation.Text = ""; cmbCategorieArticle.Text = ""; List <ArticleBE> LArticleBE = creerModifierArticleBL.listerTousLesArticle(); ListeArticles.Add(article); List <ArticleBE> LArticleBE2 = new List <ArticleBE>();; for (int i = 0; i < ListeArticles.Count; i++) { LArticleBE2.Add(ListeArticles.ElementAt(i)); } // on met la liste "LArticleBE" dans le DataGrid RemplirDataGrid(LArticleBE2); // ------------------- Chargement de la liste des codes d'Article dans le comboBox de la fenêtre //(utile pour le filtre) cmbFilterCodeArticle.ItemsSource = getListCodeArticle(LArticleBE); // ------------------- Chargement de la liste des codes de Cycle dans le comboBox de la fenêtre //(utile pour le filtre) List <CategorieArticleBE> LCatArticleBE = creerModifierCategorieArticleBL.listerTousLesCategorieArticle(); cmbCategorieArticle.ItemsSource = getListCodeCatArticle1(LCatArticleBE); cmbFilterCategorieArticle.ItemsSource = getListCodeCatArticle2(LCatArticleBE); //-------------- on enregistre le stock de l'article if (approvisionnementArticleBL.creerStock(stock)) { MessageBox.Show("Enregistrement Stock réussie"); } else { MessageBox.Show("Echec Enregistrement du Stock! "); } txtCodeArticle.Text = ""; cmbMagasin.Text = ""; txtQuantite.Text = ""; //dpkDateAchat.Text = ""; txtPrixUnitaire.Text = ""; //dpkDatePeremption.Text = ""; cmbCategorieArticle.Text = ""; txtDesignation.Text = ""; txtAnnee.Text = Convert.ToString(approvisionnementArticleBL.getAnneeEnCours()); } else { MessageBox.Show("Echec enregistrement de l'article : une erreure est survenue !"); } } else { MessageBox.Show("Un Aticle ayant le code \"" + txtCodeArticle.Text + "\" existe deja dans le système \n \n Veuillez changer de code SVP !"); } //************** } else { MessageBox.Show("Tous les champs marqués par un astérix (*) doivent pas être remplis !"); } } else if ((txtCodeArticle.Text != null && txtDesignation.Text != null && cmbCategorieArticle.Text != null) && (txtCodeArticle.Text != "" && txtDesignation.Text != "" && cmbCategorieArticle.Text != "")) { ArticleBE article = new ArticleBE(); article.codeArticle = txtCodeArticle.Text; article.codeCatArticle = cmbCategorieArticle.Text; article.designation = txtDesignation.Text; if (etat == 1) { creerModifierArticleBL.modifierArticle(ancienArticle, article); List <ArticleBE> LArticleBE = creerModifierArticleBL.listerTousLesArticle(); // on met la liste "LArticleBE" dans le DataGrid RemplirDataGrid(LArticleBE); // ------------------- Chargement de la liste des codes de Article dans le comboBox de la fenêtre //(utile pour le filtre) cmbFilterCodeArticle.ItemsSource = getListCodeArticle(LArticleBE); txtCodeArticle.Text = ""; txtDesignation.Text = ""; cmbCategorieArticle.Text = ""; etat = 0; } else if (creerModifierArticleBL.rechercherArticle(new ArticleBE(txtCodeArticle.Text, cmbCategorieArticle.Text, txtDesignation.Text)) == null) { if (creerModifierArticleBL.creerArticle(txtCodeArticle.Text, cmbCategorieArticle.Text, txtDesignation.Text)) { MessageBox.Show("Enregistrement Article Opération réussie"); txtCodeArticle.Text = ""; txtDesignation.Text = ""; cmbCategorieArticle.Text = ""; List <ArticleBE> LArticleBE = creerModifierArticleBL.listerTousLesArticle(); // on met la liste "LArticleBE" dans le DataGrid RemplirDataGrid(LArticleBE); // ------------------- Chargement de la liste des codes d'Article dans le comboBox de la fenêtre //(utile pour le filtre) cmbFilterCodeArticle.ItemsSource = getListCodeArticle(LArticleBE); // ------------------- Chargement de la liste des codes de Cycle dans le comboBox de la fenêtre //(utile pour le filtre) List <CategorieArticleBE> LCatArticleBE = creerModifierCategorieArticleBL.listerTousLesCategorieArticle(); cmbCategorieArticle.ItemsSource = getListCodeCatArticle1(LCatArticleBE); cmbFilterCategorieArticle.ItemsSource = getListCodeCatArticle2(LCatArticleBE); } else { MessageBox.Show("Echec enregistrement : une erreure est survenue !"); } } else { MessageBox.Show("Un Aticle ayant le code \"" + txtCodeArticle.Text + "\" existe deja dans le système \n \n Veuillez changer de code SVP !"); } } else { MessageBox.Show("Les champs \"Code Article\", \"Catégorie\" et \"Désignation\" doivent êtres remplis !"); } }
internal ArticleBE rechercherArticle(ArticleBE article) { return(articleDA.rechercher(article)); }