コード例 #1
0
        private void ExecuteDeleteArticles(ArticlesVM artVM)
        {
            if (ClasseGlobale._contentDetailCommande != null)
            {
                if (ClasseGlobale._contentDetailCommande.Contains(artVM))
                {
                    //Modif de la liste place convoyeur
                    //mettre à jour la  liste convoyeur
                    //J'ai l'id de l'article => je récupe l'id conv => je met à jour l'encombrement

                    //Je parcours la  liste de place libre pour trouver l'id conv qui convient
                    int finDeListe = ClasseGlobale.PlacesLibres.getList().Count();

                    if (artVM.PlaceConvoyeur != null)//Si égal à null cela veut dire qu'aucun emplacement convoyeur n'a été atribué
                    {
                        for (int i = 0; i < finDeListe; i++)
                        {
                            //si l'encombrement du convoyeur est permet de recevoir l'article
                            if (ClasseGlobale.PlacesLibres.getList()[i].id == artVM.PlaceConvoyeur.id)
                            {
                                //Je modifie l'encombrement de la liste des places libres
                                ClasseGlobale.PlacesLibres[i].encombrement -= typeArticleDTO.encombrement;
                                break;
                            }
                        }
                    }

                    //Modif du prix total
                    ClasseGlobale._contentDetailCommande.Remove(artVM);
                    decimal tamp = (decimal)Label_NouvelleCommande_prixTotal;
                    tamp -= (decimal)artVM.typeArticle.TTC;
                    Label_NouvelleCommande_prixTotal = (float)tamp;
                }
            }
        }
コード例 #2
0
 private void ExecuteDeleteArticles(ArticlesVM obj)
 {
     if (ClasseGlobale._contentDetailCommande != null)
     {
         if (ClasseGlobale._contentDetailCommande.Contains(obj))
         {
             ClasseGlobale._contentDetailCommande.Remove(obj);
             decimal tamp = (decimal)Label_NouvelleCommande_prixTotal;
             tamp -= (decimal)obj.typeArticle.TTC;
             Label_NouvelleCommande_prixTotal = (float)tamp;
         }
     }
 }
コード例 #3
0
        public void AjouterArticles(object button)
        {
            if (ClasseGlobale._contentDetailCommande != null)
            {
                Button clickedbutton = button as Button;
                if (clickedbutton != null)
                {
                    typeArticleDTO = (TypeArticle)TypeArticleDAO.selectTypesById(Int32.Parse(clickedbutton.Tag.ToString()));

                    PlaceConvoyeur place = new PlaceConvoyeur();
                    place = null;
                    if (typeArticleDTO.encombrement == 0 || typeArticleDTO.encombrement > 3)
                    {
                        //Cet article ne va pas dans le convoyeur
                        //MessageBox.Show("Cet article ne va pas dans le convoyeur.");
                    }
                    else
                    {
                        //Je parcours la liste pour trouver une place convoyeur pouvant accueillir l'article
                        int   finDeListe = ClasseGlobale.PlacesLibres.getList().Count();
                        float encombrement_occupe_pour_cette_place;
                        float encombrement_maximum = 3 - typeArticleDTO.encombrement;
                        for (int i = 0; i < finDeListe; i++)
                        {
                            //si l'encombrement du convoyeur est permet de recevoir l'article
                            encombrement_occupe_pour_cette_place = ClasseGlobale.PlacesLibres.getList()[i].encombrement;

                            if (encombrement_occupe_pour_cette_place <= encombrement_maximum)
                            {
                                //Je modifie l'encombrement de la place convoyeur
                                ClasseGlobale.PlacesLibres[i].encombrement += typeArticleDTO.encombrement;
                                //Je récupère la place convoyeur concernée
                                place = ClasseGlobale.PlacesLibres.getList()[i];
                                break;
                            }
                            if (i == finDeListe - 1)
                            {
                                MessageBox.Show("Cet article ne trouve pas sa place dans le convoyeur.\n" +
                                                "Peut-être n'y a t-il plus de place ou cet article est trop volumineux pour les emplacements restants.");
                            }
                        }
                    }


                    //On construit un nouvel ArticlesVM
                    ArticlesVM articleVmAAjouter = new ArticlesVM()
                    {
                        typeArticle    = typeArticleDTO,
                        ArticlesName   = typeArticleDTO.nom,
                        PlaceConvoyeur = place
                    };
                    ClasseGlobale._contentDetailCommande.Add(articleVmAAjouter);


                    Label_NouvelleCommande_prixTotal = 0;
                    decimal tampon = 0;
                    foreach (ArticlesVM artVm in ClasseGlobale._contentDetailCommande)
                    {
                        //MessageBox.Show("ajout de " + artVm.typeArticle.TTC);
                        //Label_NouvelleCommande_prixTotal += (artVm.typeArticle.TTC);
                        tampon += (decimal)(artVm.typeArticle.TTC);
                    }
                    //MessageBox.Show(tampon.ToString());
                    Label_NouvelleCommande_prixTotal = (float)tampon;//(float)Math.Round(tampon, 2, MidpointRounding.AwayFromZero);//
                }
            }
        }