//Selectionner une place convoyeur de la base de données à partir de son id
        public static PlaceConvoyeur selectConvoyeurById(int id)
        {
            try
            {
                PlaceConvoyeur retour = new PlaceConvoyeur();

                //connection à la base de données
                MySqlCommand cmd = new MySqlCommand(Bdd.selectConvoyeurById, Bdd.connexion());

                //ajout des parametres
                cmd.Parameters.AddWithValue("conv_id", id);

                //Execute la commande
                MySqlDataReader msdr = cmd.ExecuteReader();
                while (msdr.Read())
                {
                    retour = new PlaceConvoyeur(
                        Int32.Parse(msdr["conv_id"].ToString()),
                        Int32.Parse(msdr["conv_emplacement"].ToString()),
                        float.Parse(msdr["conv_encombrement"].ToString()));
                }
                msdr.Dispose();
                Bdd.deconnexion();
                return(retour);
            }
            catch (Exception Ex)
            {
                //LogDAO.insertLog(new Log(DateTime.Now, "ERREUR BDD : Erreur dans la selection d'un convoyeur dans la base de données."));
                Bdd.deconnexion();
                return(null);
            }
        }
        //Selectionner l'ensemble des places convoyeurs de la base de données
        public static List <PlaceConvoyeur> selectConvoyeurs()
        {
            try
            {
                List <PlaceConvoyeur> retour = new List <PlaceConvoyeur>();

                //connection à la base de données
                MySqlCommand cmd = new MySqlCommand(Bdd.selectConvoyeurs, Bdd.connexion());

                //Execute la commande
                MySqlDataReader msdr = cmd.ExecuteReader();
                PlaceConvoyeur  convoyeur;
                while (msdr.Read())
                {
                    convoyeur = new PlaceConvoyeur(
                        Int32.Parse(msdr["conv_id"].ToString()),
                        Int32.Parse(msdr["conv_emplacement"].ToString()),
                        float.Parse(msdr["conv_encombrement"].ToString()));
                    retour.Add(convoyeur);
                }
                msdr.Dispose();
                Bdd.deconnexion();
                return(retour);
            }
            catch (Exception Ex)
            {
                //LogDAO.insertLog(new Log(DateTime.Now, "ERREUR BDD : Erreur dans la selection d'une liste de convoyeurs dans la base de données."));
                Bdd.deconnexion();
                return(null);
            }
        }
        //Update une place convoyeur
        public static int updatePlaceConvoyeur(PlaceConvoyeur conv)
        {
            try
            {
                //connection à la base de données
                MySqlCommand cmd = new MySqlCommand(Bdd.updatePlaceConvoyeur, Bdd.connexion());

                //ajout des parametres
                cmd.Parameters.AddWithValue("id", conv.id);
                cmd.Parameters.AddWithValue("emplacement", conv.emplacement);
                cmd.Parameters.AddWithValue("encombrement", conv.encombrement);
                cmd.Parameters.AddWithValue("id2", conv.id);

                //Execute la commande
                int retour = cmd.ExecuteNonQuery();
                Bdd.deconnexion();
                return(retour);
            }
            catch (Exception Ex)
            {
                //LogDAO.insertLog(new Log(DateTime.Now, "ERREUR BDD : Erreur dans l'insertion d'un type dans la base de données."));
                Bdd.deconnexion();
                return(0);
            }
        }
        //Selectionner l'ensemble des places convoyeurs de la base de données ou encombrement=0
        public static List <PlaceConvoyeur> selectConvoyeursNotEmpty()
        {
            try
            {
                List <PlaceConvoyeur> retour = new List <PlaceConvoyeur>();

                //connection à la base de données
                MySqlCommand cmd = new MySqlCommand(Bdd.selectConvoyeursNotEmpty, Bdd.connexion());

                //Execute la commande
                MySqlDataReader msdr = cmd.ExecuteReader();
                PlaceConvoyeur  convoyeur;
                while (msdr.Read())
                {
                    convoyeur = new PlaceConvoyeur(
                        Int32.Parse(msdr["conv_id"].ToString()),
                        Int32.Parse(msdr["conv_emplacement"].ToString()),
                        float.Parse(msdr["conv_encombrement"].ToString()));
                    retour.Add(convoyeur);
                }
                msdr.Dispose();
                Bdd.deconnexion();
                return(retour);
            }
            catch (Exception Ex)
            {
                Bdd.deconnexion();
                return(null);
            }
        }
        public void enregistrerPlace()
        {
            try
            {
                int nbrPlace = PlaceConvoyeurDAO.selectConvoyeurs().Count;

                if (Txb_AdminConv_ModifPlace > nbrPlace)
                {
                    for (int i = nbrPlace; i < Txb_AdminConv_ModifPlace; i++)
                    {
                        PlaceConvoyeur p = new PlaceConvoyeur(i, 0);
                        PlaceConvoyeurDAO.insertConvoyeur(p);
                    }
                }
                else
                {
                    MessageBox.Show("Impossible de diminuer le nombre d'emplacement dans le convoyeur");
                }

                Label_AdminConv_NbrePlace   = PlaceConvoyeurDAO.selectConvoyeurs().Count;
                Label_AdminConv_Disponibles = PlaceConvoyeurDAO.selectConvoyeursNotEmpty().Count;

                Txb_AdminConv_ModifPlace = 0;
            }
            catch (Exception e)
            {
                MessageBox.Show("" + e);
            }
        }
        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);//
                }
            }
        }
示例#7
0
        /* Selectionner l'ensemble des articles d'une commande dans la base de données
         * @param cmd_id : id d'une commande
         */
        public static List <Article> selectArticleByIdCmd(int cmd_id)
        {
            try
            {
                List <Article> retour = new List <Article>();

                //connection à la base de données
                MySqlCommand cmd = new MySqlCommand(Bdd.selectArticleByIdCmd, Bdd.connexion());

                //ajout des parametres
                cmd.Parameters.AddWithValue("id", cmd_id);

                //Execute la commande
                MySqlDataReader msdr = cmd.ExecuteReader();

                int            art_id;
                String         art_photo;
                String         art_commentaire;
                bool           art_rendu;
                float          art_TVA;
                float          art_TTC;
                TypeArticle    typeArticle;
                PlaceConvoyeur placeConv;
                int            art_cmd_id;

                int conv_id;

                while (msdr.Read())
                {
                    art_id          = Int32.Parse(msdr["art_id"].ToString());
                    art_photo       = msdr["art_photo"].ToString();
                    art_commentaire = msdr["art_commentaire"].ToString();
                    art_rendu       = bool.Parse(msdr["art_rendu"].ToString());
                    art_TVA         = float.Parse(msdr["art_TVA"].ToString());
                    art_TTC         = float.Parse(msdr["art_TTC"].ToString());
                    typeArticle     = new TypeArticle(Int32.Parse(msdr["art_typ_id"].ToString()), null, 0, 0, 0, null);

                    //conv_id = Int32.Parse(msdr["art_conv_id"].ToString());
                    String test = msdr["art_conv_id"].ToString();
                    if (test == null || test == "")
                    {
                        conv_id = 0;
                    }
                    else
                    {
                        conv_id = Int32.Parse(msdr["art_conv_id"].ToString());
                    }
                    placeConv  = new PlaceConvoyeur(conv_id, 0, 0);
                    art_cmd_id = Int32.Parse(msdr["art_cmd_id"].ToString());

                    Article article = new Article(
                        art_id,
                        art_photo,
                        art_commentaire,
                        art_rendu,
                        art_TVA,
                        art_TTC,
                        typeArticle,
                        placeConv,
                        art_cmd_id);

                    if (msdr["art_date_rendu"].ToString().Equals(null))
                    {
                        article.date_rendu = DateTime.Parse(msdr["art_date_rendu"].ToString());
                    }

                    retour.Add(article);
                }
                msdr.Dispose();
                Bdd.deconnexion();

                #region ajout des types, des departements et des places convoyeurs
                foreach (Article art in retour)
                {
                    art.type      = TypeArticleDAO.selectTypesById(art.type.id);
                    art.convoyeur = PlaceConvoyeurDAO.selectConvoyeurById(art.convoyeur.id);
                }
                #endregion


                return(retour);
            }
            catch (Exception Ex)
            {
                MessageBox.Show("ERREUR BDD : SelectArticleByIdCmd");
                Bdd.deconnexion();
                return(null);
            }
        }