private void grdListeApprovisionnement_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (grdListeApprovisionnement.SelectedIndex != -1)
            {
                if (grdListeApprovisionnement.SelectedIndex == ListeApprovisionnements.Count - 1)
                {
                    etat        = 1;
                    ancienObjet = new StockerBE();

                    ancienObjet = approvisionnementArticleBL.rechercherStock(ListeApprovisionnements.ElementAt(grdListeApprovisionnement.SelectedIndex));
                    if (ancienObjet != null)
                    {
                        // on charge les informations dans le formulaire
                        cmbArticle.Text  = ancienObjet.codeArticle;
                        cmbMagasin.Text  = ancienObjet.codeMagasin;
                        txtQuantite.Text = Convert.ToString(ancienObjet.quantiteAchetee);
                        txtAnnee.Text    = Convert.ToString(ancienObjet.annee);

                        annee                 = ancienObjet.annee;
                        txtAnnee.Text         = Convert.ToString(annee);
                        txtAnneeScolaire.Text = (annee - 1).ToString();

                        txtPrixUnitaire.Text = Convert.ToString(ancienObjet.puArticle);
                    }
                }
                else
                {
                    MessageBox.Show("Impossible de modifier cet élément ! \n \n Vous ne pouvez modifier que le dernier élément de la liste !");
                }

                grdListeApprovisionnement.UnselectAll();
            }
        }
 // modifier un stock
 public bool modifierStock(StockerBE stock, StockerBE newStock)
 {
     if (stockerDA.modifier(stock, newStock))
     {
         journalDA.journaliser("modification de l'approvisionnement de " + stock.quantiteAchetee + " articles de type " + stock.codeArticle + " dans le magasin " + stock.codeMagasin + " au prix unitaire de " + stock.puArticle + ". nouvelle quantité : " + newStock.quantiteAchetee + ", nouveau prix unitaire : " + newStock.puArticle);
         return(true);
     }
     return(false);
 }
 // supprimer un stock
 public bool supprinerStock(StockerBE stock)
 {
     if (stockerDA.supprimer(stock))
     {
         journalDA.journaliser("suppresion de l'approvisionnement de " + stock.quantiteAchetee + " articles de type " + stock.codeArticle + " dans le magasin " + stock.codeMagasin + " au prix unitaire de " + stock.puArticle);
         return(true);
     }
     return(false);
 }
 //creer un Stock
 public bool creerStock(StockerBE stock)
 {
     if (stockerDA.ajouter(stock))
     {
         journalDA.journaliser("enregistrement d'un approvisionnement de " + stock.quantiteAchetee + " articles de type " + stock.codeArticle + " dans le magasin " + stock.codeMagasin + " au prix unitaire de " + stock.puArticle);
         return(true);
     }
     return(false);
 }
        public WindowApprovisionnementArticleUI()
        {
            CultureInfo ci = CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name);

            ci.DateTimeFormat.ShortDatePattern  = "dd-MM-yyyy";
            Thread.CurrentThread.CurrentCulture = ci;

            InitializeComponent();

            approvisionnementArticleBL = new ApprovisionnementArticleBL();

            articleChoisi = "<Tous les Articles>";
            magasinChoisi = "<Tous les Magasins>";

            // A mettre pour que le binding avec le DataGrid fonctionne !
            grdListeApprovisionnement.DataContext = this;

            etat = 0;

            ancienObjet = new StockerBE();

            // Initialisation de la collection, qui va s'afficher dans la DataGrid :
            ListeApprovisionnements = new ObservableCollection <StockerBE>();
            List <StockerBE> LStockBE = approvisionnementArticleBL.listerToutesLesStock();

            // on met la liste "LStockBE" dans le DataGrid
            RemplirDataGrid(LStockBE);

            // ------------------- Chargement de la liste des codes de Cycle dans le comboBox de la fenêtre
            //(utile pour le filtre)
            creerModifierArticleBL = new CreerModifierArticleBL();
            List <ArticleBE> LArticleBE = creerModifierArticleBL.listerTousLesArticle();

            cmbArticle.ItemsSource = approvisionnementArticleBL.getListCodeArticle2(LArticleBE);

            cmbFilterArticle.ItemsSource = approvisionnementArticleBL.getListCodeArticle(LArticleBE);

            txtAnnee.Text = Convert.ToString(approvisionnementArticleBL.getAnneeEnCours());

            annee                 = approvisionnementArticleBL.getAnneeEnCours();
            txtAnnee.Text         = Convert.ToString(annee);
            txtAnneeScolaire.Text = (annee - 1).ToString();


            // ------------------- 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 = approvisionnementArticleBL.getListCodeMagasin2(LMagasinBE);

            cmbFilterMagasin.ItemsSource = approvisionnementArticleBL.getListCodeMagasin(LMagasinBE);
        }
        //creer un Stock
        public bool creerStock(string codeMagasin, string codeArticle, Int16 stockDebut, Int16 quantiteAchetee, Int16 quantiteVendue, DateTime dateOperation,
                               int annee, Int16 puArticle, Int16 stockRestant)
        {
            StockerBE stock = new StockerBE(codeMagasin, codeArticle, stockDebut, quantiteAchetee, quantiteVendue, dateOperation, annee, puArticle, stockRestant);

            if (stockerDA.ajouter(stock))
            {
                journalDA.journaliser("enregistrement d'un approvisionnement de " + quantiteAchetee + " articles de type " + codeArticle + " dans le magasin " + codeMagasin + " au prix unitaire de " + puArticle);
                return(true);
            }
            return(false);
        }
示例#7
0
        internal void decrementerStock(SetarticleBE setarticle, int nombre, int annee)
        {
            if (setarticle != null)
            {
                StockerBE stocker = new StockerBE();
                composers = composerDA.listerSuivantCritere("codesetarticle LIKE " + "'" + setarticle.codesetarticle + "'");
                foreach (ComposerBE c in composers)
                {
                    stocker             = new StockerBE();
                    stocker.annee       = annee;
                    stocker.codeArticle = c.codeArticle;
                    StockerBE dernier_stock = new StockerBE();
                    dernier_stock.codeArticle = c.codeArticle;
                    dernier_stock             = stockerDA.rechercherDernierEnregistrement(stocker);
                    if (dernier_stock != null)
                    {
                        if (dernier_stock.annee < stocker.annee)
                        {
                            stocker.stockDebut = dernier_stock.stockRestant;
                        }
                        else
                        {
                            stocker.stockDebut = dernier_stock.stockDebut;
                        }
                        stocker.stockRestant    = dernier_stock.stockRestant - (nombre * c.quantite);
                        stocker.quantiteVendue  = (nombre * c.quantite);
                        stocker.quantiteAchetee = 0;
                        stocker.puArticle       = dernier_stock.puArticle;
                        stocker.dateOperation   = DateTime.Today;
                        stocker.codeMagasin     = dernier_stock.codeMagasin;

                        stockerDA.ajouter(stocker);
                    }
                }
            }
        }
示例#8
0
        internal void incrementerStock(string codearticle, int nombre, int annee, DateTime dateoperation, int numerovente)
        {
            CultureInfo ci = CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name);

            ci.DateTimeFormat.ShortDatePattern  = "yyyy-MM-dd";
            Thread.CurrentThread.CurrentCulture = ci;

            StockerBE stocker = new StockerBE();

            stocker.annee       = annee;
            stocker.codeArticle = codearticle;
            StockerBE dernier_stock = new StockerBE();

            dernier_stock.codeArticle = codearticle;
            dernier_stock             = stockerDA.rechercherDernierEnregistrement(stocker);
            if (dernier_stock != null)
            {
                if (dernier_stock.annee < stocker.annee)
                {
                    stocker.stockDebut = dernier_stock.stockRestant;
                }
                else
                {
                    stocker.stockDebut = dernier_stock.stockDebut;
                }
                stocker.stockRestant    = dernier_stock.stockRestant + nombre;
                stocker.quantiteVendue  = -nombre;
                stocker.quantiteAchetee = 0;
                stocker.puArticle       = dernier_stock.puArticle;
                stocker.dateOperation   = dateoperation;
                stocker.codeMagasin     = dernier_stock.codeMagasin;
                stocker.numeroVente     = numerovente;

                stockerDA.ajouter(stocker);
            }
        }
        // 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 <StockerBE> listObjet)
        {
            // Ajout de données dans la DataTable :
            var table = new DataTable();

            table.Columns.Add(new DataColumn("numero", typeof(string)));
            table.Columns.Add(new DataColumn("codeArticle", typeof(string)));
            table.Columns.Add(new DataColumn("codeMagasin", typeof(string)));
            table.Columns.Add(new DataColumn("stockDebut", typeof(string)));
            table.Columns.Add(new DataColumn("quantiteAchetee", typeof(string)));
            table.Columns.Add(new DataColumn("quantiteVendue", typeof(string)));
            table.Columns.Add(new DataColumn("dateOperation", typeof(DateTime)));
            table.Columns.Add(new DataColumn("dateOperationString", typeof(string)));
            table.Columns.Add(new DataColumn("annee", typeof(string)));
            table.Columns.Add(new DataColumn("puArticle", typeof(string)));
            table.Columns.Add(new DataColumn("stockRestant", typeof(string)));

            if (listObjet != null)
            {
                for (int i = 0; i < listObjet.Count; i++)
                {
                    DataRow dr = table.NewRow();
                    dr["numero"]              = listObjet.ElementAt(i).numero;
                    dr["codeArticle"]         = listObjet.ElementAt(i).codeArticle;
                    dr["codeMagasin"]         = listObjet.ElementAt(i).codeMagasin;
                    dr["stockDebut"]          = listObjet.ElementAt(i).stockDebut;
                    dr["quantiteAchetee"]     = listObjet.ElementAt(i).quantiteAchetee;
                    dr["quantiteVendue"]      = listObjet.ElementAt(i).quantiteVendue;
                    dr["dateOperation"]       = listObjet.ElementAt(i).dateOperation;
                    dr["dateOperationString"] = listObjet.ElementAt(i).dateOperation.ToShortDateString();
                    dr["annee"]        = listObjet.ElementAt(i).annee;
                    dr["puArticle"]    = listObjet.ElementAt(i).puArticle;
                    dr["stockRestant"] = listObjet.ElementAt(i).stockRestant;

                    table.Rows.Add(dr);
                }
            }

            string   vNumero              = "";
            string   vcodeArticle         = "";
            string   vcodeMagasin         = "";
            int      vStockDebut          = 0;
            int      vQuantiteAchetee     = 0;
            int      vQuantiteVendue      = 0;
            DateTime vDateOperation       = new DateTime();
            string   vDateOperationString = "";
            int      vAnnee        = 0;
            int      vPuarticle    = 0;
            int      vStockRestant = 0;

            ListeApprovisionnements.Clear();

            //Personnes_Table = LoadDataTable();

            foreach (DataRow row in table.Rows)
            {
                vNumero              = Convert.ToString(row["numero"]);
                vcodeArticle         = Convert.ToString(row["codeArticle"]);
                vcodeMagasin         = Convert.ToString(row["codeMagasin"]);
                vStockDebut          = Convert.ToInt16(row["stockDebut"]);
                vQuantiteAchetee     = Convert.ToInt16(row["quantiteAchetee"]);
                vQuantiteVendue      = Convert.ToInt16(row["quantiteVendue"]);
                vDateOperation       = Convert.ToDateTime(row["dateOperation"]);
                vDateOperationString = Convert.ToString(row["dateOperationString"]);
                vAnnee        = Convert.ToInt16(row["annee"]);
                vPuarticle    = Convert.ToInt16(row["puArticle"]);
                vStockRestant = Convert.ToInt16(row["stockRestant"]);

                StockerBE stock = new StockerBE();
                stock.numero              = Convert.ToInt16(vNumero);
                stock.codeMagasin         = vcodeMagasin;
                stock.codeArticle         = vcodeArticle;
                stock.stockDebut          = Convert.ToInt16(vStockDebut);
                stock.quantiteAchetee     = Convert.ToInt16(vQuantiteAchetee);
                stock.quantiteVendue      = Convert.ToInt16(vQuantiteVendue);
                stock.dateOperation       = vDateOperation;
                stock.dateOperationString = vDateOperationString;
                stock.annee        = vAnnee;
                stock.puArticle    = Convert.ToInt16(vPuarticle);
                stock.stockRestant = Convert.ToInt16(vStockRestant);

                ListeApprovisionnements.Add(stock);
            }
        }
        private void cmdValider_Click(object sender, RoutedEventArgs e)
        {
            if ((cmbArticle.Text != null && cmbMagasin.Text != null && txtQuantite.Text != null && txtPrixUnitaire.Text != null && txtAnneeScolaire.Text != null) &&
                (cmbArticle.Text != "" && cmbMagasin.Text != "" && txtQuantite.Text != "" && txtPrixUnitaire.Text != "" && txtAnneeScolaire.Text != ""))
            { // si tous les champs sont non vides
                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     = cmbArticle.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(cmbArticle.Text, cmbMagasin.Text);

                    if (dernierStocker != null)
                    {
                        //le stock de début est égales au stock de début du dernier enregistrement du même article
                        //on ajoute ajute la quantité acheté au dernier stock restant
                        //stock.numero = Convert.ToInt16(vNumero);
                        stock.codeMagasin = cmbMagasin.Text;
                        stock.codeArticle = cmbArticle.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     = cmbArticle.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.ToInt32(txtAnnee.Text);
                        stock.puArticle    = Convert.ToInt32(txtPrixUnitaire.Text);
                        stock.stockRestant = Convert.ToInt32(txtQuantite.Text);
                    }
                }


                if (etat == 1)
                {
                    // on retire dans l'ancien objet
                    StockerBE newStock = new StockerBE();

                    //stock.numero = Convert.ToInt16(vNumero);
                    newStock.codeMagasin     = stock.codeMagasin;
                    newStock.codeArticle     = stock.codeArticle;
                    newStock.stockDebut      = stock.stockDebut;
                    newStock.quantiteAchetee = stock.quantiteAchetee;
                    newStock.quantiteVendue  = stock.quantiteVendue;
                    //DatePicker dpk = new DatePicker();
                    //dpk.Text = Convert.ToString(System.DateTime.Today.Date);
                    newStock.dateOperation = stock.dateOperation;
                    //stock.dateOperationString = System.DateTime.Today.ToShortDateString;
                    newStock.annee        = stock.annee;
                    newStock.puArticle    = stock.puArticle;
                    newStock.stockRestant = stock.stockRestant;

                    if (stock.quantiteAchetee > ancienObjet.quantiteAchetee)
                    { // il a augmenté la quantité acheté
                        newStock.quantiteAchetee = ancienObjet.quantiteAchetee + (stock.quantiteAchetee - ancienObjet.quantiteAchetee);
                        newStock.stockRestant    = ancienObjet.stockRestant + (stock.quantiteAchetee - ancienObjet.quantiteAchetee);
                    }
                    else
                    { //si on a diminué la quantité
                        newStock.quantiteAchetee = ancienObjet.quantiteAchetee - (ancienObjet.quantiteAchetee - stock.quantiteAchetee);
                        newStock.stockRestant    = ancienObjet.stockRestant - (ancienObjet.quantiteAchetee - stock.quantiteAchetee);
                    }

                    approvisionnementArticleBL.modifierStock(ancienObjet, newStock);

                    /*List<StockerBE> LStockerBE = approvisionnementArticleBL.listerToutesLesStock();
                     * // on met la liste "LStockerBE" dans le DataGrid
                     * RemplirDataGrid(LStockerBE);*/

                    // ------------------- Chargement de la liste des codes de série dans le comboBox de la fenêtre
                    //(utile pour le filtre)
                    // cmbFilterCode.ItemsSource = getListCodeSerie(LSerieBE);

                    // ------------------- Chargement de la liste des noms de série dans le comboBox de la fenêtre
                    //(utile pour le filtre)
                    //cmbFilterNom.ItemsSource = getListNomSerie(LSerieBE);

                    cmbArticle.Text      = null;
                    cmbMagasin.Text      = null;
                    txtQuantite.Text     = "";
                    txtPrixUnitaire.Text = "";

                    etat = 0;
                }
                else
                {
                    approvisionnementArticleBL.creerStock(stock);
                }

                cmbArticle.Text      = "";
                cmbMagasin.Text      = "";
                txtQuantite.Text     = "";
                txtPrixUnitaire.Text = "";

                annee                 = approvisionnementArticleBL.getAnneeEnCours();
                txtAnnee.Text         = Convert.ToString(annee);
                txtAnneeScolaire.Text = (annee - 1).ToString();
                //dpkDatePeremption.Text = "";

                etat = 0;

                //on liste tous les stocks
                List <StockerBE> LStockerBE = approvisionnementArticleBL.listerToutesLesStock();
                RemplirDataGrid(LStockerBE);
            }
            else
            {
                MessageBox.Show("Tous les champs marqués par un Astérix '(*)' doivent être remplis !");
            }
        }
        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 !");
            }
        }
 // rechercher un stock
 public StockerBE rechercherStock(StockerBE stock)
 {
     return(stockerDA.rechercher(stock));
 }