예제 #1
0
        private void RendreCommande()
        {
            //Les articles passent en rendus
            //TODO
            //MessageBox.Show("Réglage de la commande");
            if (ClasseGlobale._renduCommandeClientPro != null)
            {
                Commande cmd = ClasseGlobale._renduCommandeClientPro;
                cmd = CommandeDAO.selectCommandeById(cmd.id, true, true, true);
                //Parcours de la liste d'article et update de la bdd
                foreach (Article art in cmd.listArticles)
                {
                    //On update l'emplacment convoyeur
                    art.convoyeur.encombrement -= art.type.encombrement;
                    PlaceConvoyeurDAO.updatePlaceConvoyeur(art.convoyeur);

                    //Puis l'article
                    art.date_rendu = DateTime.Now;
                    art.ifRendu    = true;
                    art.convoyeur  = null;
                    ArticleDAO.updateArticle(art);
                }
                cmd.date_rendu = DateTime.Now;
                CommandeDAO.updateCommande(cmd);
            }
        }
        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);
            }
        }
        private void EnregistrerCommandeClientPro()
        {
            if (ClasseGlobale.Client.nom != "")
            {
                if (ClasseGlobale._contentDetailCommande == null)
                {
                    MessageBox.Show("Ajoutez des articles");
                }
                else
                {
                    Commande cmd = new Commande(DateTime.Now, false, 0, ClasseGlobale.Client);

                    //ObservableCollection<ArticlesVM> listeArticles = ClasseGlobale._contentDetailCommande;
                    if (CommandeDAO.insertCommande(cmd) == 1)
                    {
                        cmd = CommandeDAO.lastCommande();
                        foreach (ArticlesVM artVM in ClasseGlobale._contentDetailCommande)
                        {
                            ArticleDAO.insertArticle(artVM.getArticle(cmd.id));
                        }

                        //Mise à jour de la table convoyeur
                        foreach (PlaceConvoyeur place in ClasseGlobale.PlacesLibres.getList())
                        {
                            PlaceConvoyeurDAO.updatePlaceConvoyeur(place);
                        }


                        //Clear l'écran et bloque l'utilisation des touches


                        try
                        {
                            cmd = CommandeDAO.selectCommandeById(cmd.id, true, true, true);
                            RecuPaiement rp = new RecuPaiement(cmd);
                            rp.printRecu();
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Impression refusée");
                        }
                        finally
                        {
                            ClasseGlobale.SET_ALL_NULL();
                            commandePayeeEnDiffere = true;
                        }
                    }
                    else
                    {
                        MessageBox.Show("Erreur lors de la création de la commande. Enregistrement de la commande annulé");
                    }
                }
            }
            else
            {
                MessageBox.Show("La comande a déjà été enregistrée. Veuillez cliquer sur HOME");
            }
        }
예제 #4
0
        public ConvoyeurVM()
        {
            try
            {
                listePlace = (List <PlaceConvoyeur>)PlaceConvoyeurDAO.selectConvoyeurs();

                List <PlaceConvoyeur> comptePlaceLibre = (List <PlaceConvoyeur>)PlaceConvoyeurDAO.selectConvoyeursNotEmpty();

                Label_convoyeur_occupees = comptePlaceLibre.Count;
                Label_Convoyeur_nbPlace  = listePlace.Count;
            }
            catch (Exception e)
            {
            }
        }
        public NouvelleCommandeClientProVM()
        {
            commandePayeeEnDiffere = false;
            lArticles = new List <Article>();

            defileDepartementPrecedente();
            //deselectButtons();
            prixTotal = 0;
            if (ContentDetailCommande != null)
            {
                for (int i = 0; i < ContentDetailCommande.Count; i++)
                {
                    Label_NouvelleCommande_prixTotal += (ContentDetailCommande[i].typeArticle.TTC);
                }
            }
            ClasseGlobale.PlacesLibres.setList(PlaceConvoyeurDAO.selectConvoyeursEmpty());
        }
        public AdministrationConvoyeurVM()
        {
            try
            {
                listePlace = (List <PlaceConvoyeur>)PlaceConvoyeurDAO.selectConvoyeurs();
                Label_AdminConv_NbrePlace = listePlace.Count;



                List <PlaceConvoyeur> comptePlaceLibre = (List <PlaceConvoyeur>)PlaceConvoyeurDAO.selectConvoyeursNotEmpty();

                Label_AdminConv_Disponibles = comptePlaceLibre.Count;
            }
            catch (Exception e)
            {
                MessageBox.Show("" + e);
            }
        }
        public NouvelleCommandeVM()
        {
            lArticles = new List <Article>();

            defileDepartementPrecedente();
            prixTotal = 0;
            if (ContentDetailCommande != null)
            {
                for (int i = 0; i < ContentDetailCommande.Count; i++)
                {
                    Label_NouvelleCommande_prixTotal += (ContentDetailCommande[i].typeArticle.TTC);
                }
            }

            //Initialisation de la liste d'emplacements vides
            ClasseGlobale.PlacesLibres.setList(PlaceConvoyeurDAO.selectConvoyeursEmpty());
            commandePayeeEnDiffere = false;
            ClasseGlobale._contentDetailCommande = null;
        }
        private void btn_detailCommande_rendre_articles_selectionnes_Click(object sender, RoutedEventArgs e)
        {
            dp.Children.Clear();
            //dp.Children.Add(new Accueil());
            //dp.Children.Add(new Paiement());
            //dp.Children.Clear();
            ////Si la commande a déjà été payée je ne pase pas par la page de paiement
            if (ClasseGlobale._renduCommande.payee == false)
            {
                dp.Children.Add(new Paiement());
            }
            else
            {
                //Il faut nettoyer le convoyeur et update les articles

                List <Article> ListeSelectArt = ClasseGlobale._rendreArticlesSelectionnes;
                Commande       comdRendu      = ClasseGlobale._renduCommande;

                foreach (Article art in ListeSelectArt)
                {
                    //Mise à jour de la place convoyeur
                    //1 - dans la table convoyeur : on soustrait l'encombrement
                    //2 - dans la table article : id convoyeur devient nul

                    art.convoyeur.encombrement = (float)((decimal)art.convoyeur.encombrement - (decimal)art.type.encombrement);
                    //Si un article est à la même place, il faut modifier sa place convoyeur pour qu'elle corresponde au changement appliqué
                    //Permet la mise à jour correcte de la table convoyeur
                    foreach (Article art2 in ListeSelectArt)
                    {
                        //Si j'ai un autre article au même emplacement convoyeur
                        if (art2.convoyeur.id == art.convoyeur.id && art2.id != art.id)
                        {
                            //Je lui attribut le bon encombrement
                            art2.convoyeur.encombrement = art.convoyeur.encombrement;
                        }
                    }

                    PlaceConvoyeurDAO.updatePlaceConvoyeur(art.convoyeur);

                    Article artAdd = new Article(art.id, art.photo, art.commentaire, true, art.TVA, art.TTC, art.type, null, comdRendu.id);
                    artAdd.date_rendu = DateTime.Now;
                    //artAdd.date_payee = DateTime.Now;

                    ArticleDAO.updateArticle(artAdd);
                }


                //Mise à jour de la commande
                comdRendu = CommandeDAO.selectCommandeById(comdRendu.id, true, true, true);
                bool tousLesArticlesSontIlsRendus = true;
                //Si j'ai rendu tous les articles de la commande je dois update le champ de la commande
                foreach (Article art in comdRendu.listArticles)
                {
                    //Si l'un au moins des articles n'est pas rendu je ne change pas la date rendu de la commande
                    if (art.ifRendu == false)
                    {
                        tousLesArticlesSontIlsRendus = false;
                        break;
                    }
                }
                if (tousLesArticlesSontIlsRendus == true)
                {
                    comdRendu.date_rendu = DateTime.Now;
                    CommandeDAO.updateCommande(comdRendu);
                }


                comdRendu = CommandeDAO.selectCommandeById(comdRendu.id, true, true, true);
                try
                {
                    RecuPaiement rp = new RecuPaiement(comdRendu);
                    rp.printRecu();
                    rp.printRecu();
                    //if (comdRendu.listArticles != null)
                    //{
                    //    TicketVetement ticketVetement = new TicketVetement(comdRendu);
                    //    ticketVetement.printAllArticleCmd();
                    //}
                    //else
                    //    MessageBox.Show("La commande ne contient pas d'articles");
                }
                catch (Exception)
                {
                    MessageBox.Show("Impression refusée");
                }
                finally
                {
                    //initialise tout
                    ClasseGlobale.SET_ALL_NULL();
                }
            }
        }
예제 #9
0
        private void ValidationPaiement()
        {
            if (ClasseGlobale.Client != null)
            {
                //Récupération des articles de la commande, du client, et du paiement et enregistrement en bdd

                Client client = ClasseGlobale.Client;

                //Validation du paiement

                if (Reste_a_payer == 0)
                {
                    //Récupère la liste des articles, il y'en a qu'une seule qui soit initialisée. L'autre est nulle
                    ObservableCollection <ArticlesVM> cmdDetail = ClasseGlobale._contentDetailCommande;
                    List <Article> ListeSelectArt = ClasseGlobale._rendreArticlesSelectionnes;

                    //Si je viens de l'écran de nouvelle commande
                    if (cmdDetail != null)
                    {
                        Commande cmd = new Commande(DateTime.Now, true, Txb_paiement_montantRemise, client);
                        CommandeDAO.insertCommande(cmd);
                        cmd = CommandeDAO.selectCommandeById(CommandeDAO.lastCommande().id, false, true, false);

                        //Enregistrement des articles
                        foreach (ArticlesVM artVM in cmdDetail)
                        {
                            Article art = artVM.getArticle(cmd.id);
                            art.date_payee = DateTime.Now;
                            ArticleDAO.insertArticle(art);
                        }

                        //Enregistrement du/des paiement(s)
                        Payement             paiement;
                        ICollection <String> liste_des_moyens_de_paiement = listeDeMontantParMoyenPaiement.dico.Keys;
                        foreach (String monMoyenDePaiement in liste_des_moyens_de_paiement)
                        {
                            paiement = new Payement(DateTime.Now, listeDeMontantParMoyenPaiement[monMoyenDePaiement], monMoyenDePaiement, cmd.id);
                            PayementDAO.insertPaiement(paiement);
                        }

                        //Mise à jour de la table convoyeur
                        foreach (PlaceConvoyeur place in ClasseGlobale.PlacesLibres.getList())
                        {
                            PlaceConvoyeurDAO.updatePlaceConvoyeur(place);
                        }



                        Commande cmdTota = CommandeDAO.selectCommandeById(cmd.id, true, true, true);

                        //MessageBox.Show("La commande " + cmdTota.id + " à été enregistrée avec succès");
                        try
                        {
                            RecuPaiement rp = new RecuPaiement(cmdTota);
                            rp.printRecu();
                            rp.printRecu();

                            if (cmdTota.listArticles != null)
                            {
                                TicketVetement ticketVetement = new TicketVetement(cmdTota);
                                ticketVetement.printAllArticleCmd();
                            }
                            else
                            {
                                MessageBox.Show("La commande ne contient pas d'articles");
                            }
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Impression refusée");
                        }
                        finally
                        {
                            //initialise tout
                            ClasseGlobale.SET_ALL_NULL();
                        }


                        //FactureExcel fe = new FactureExcel(CommandeDAO.selectCommandeById(cmd.id, true, true, true));
                        //fe.printFacture();
                    }
                    //Si je viens de l'écran de rendu des articles
                    else if (ListeSelectArt != null)
                    {
                        Commande comdRendu = ClasseGlobale._renduCommande;

                        foreach (Article art in ListeSelectArt)
                        {
                            //Mise à jour de la place convoyeur
                            //1 - dans la table convoyeur : on soustrait l'encombrement
                            //2 - dans la table article : id convoyeur devient nul

                            art.convoyeur.encombrement = (float)((decimal)art.convoyeur.encombrement - (decimal)art.type.encombrement);
                            //Si un article est à la même place, il faut modifier sa place convoyeur pour qu'elle corresponde au changement appliqué
                            //Permet la mise à jour correcte de la table convoyeur
                            foreach (Article art2 in ListeSelectArt)
                            {
                                //Si j'ai un autre article au même emplacement convoyeur
                                if (art2.convoyeur.id == art.convoyeur.id && art2.id != art.id)
                                {
                                    //Je lui attribut le bon encombrement
                                    art2.convoyeur.encombrement = art.convoyeur.encombrement;
                                }
                            }

                            PlaceConvoyeurDAO.updatePlaceConvoyeur(art.convoyeur);

                            Article artAdd = new Article(art.id, art.photo, art.commentaire, true, art.TVA, art.TTC, art.type, null, comdRendu.id);
                            artAdd.date_rendu = DateTime.Now;
                            artAdd.date_payee = DateTime.Now;

                            ArticleDAO.updateArticle(artAdd);
                        }


                        //Enregistrement du/des paiement(s)
                        Payement             paiement;
                        ICollection <String> liste_des_moyens_de_paiement = listeDeMontantParMoyenPaiement.dico.Keys;
                        foreach (String monMoyenDePaiement in liste_des_moyens_de_paiement)
                        {
                            paiement = new Payement(DateTime.Now, listeDeMontantParMoyenPaiement[monMoyenDePaiement], monMoyenDePaiement, comdRendu.id);
                            PayementDAO.insertPaiement(paiement);
                        }



                        //Mise à jour de la commande
                        comdRendu = CommandeDAO.selectCommandeById(comdRendu.id, true, true, true);

                        //Vérification du paiement
                        //1 - Je calcule le montant total de la commande
                        //2 - Je calcule le montant payé total
                        decimal prixTotalDeLaCommande = 0;
                        foreach (Article article in comdRendu.listArticles)
                        {
                            prixTotalDeLaCommande += (decimal)article.TTC;
                        }


                        decimal prixPayeTotal = 0;
                        if (comdRendu.listPayements.Count > 0)
                        {
                            foreach (Payement paiementEffectue in comdRendu.listPayements)
                            {
                                prixPayeTotal += (decimal)paiementEffectue.montant;
                            }
                        }


                        decimal resteAPayer = prixTotalDeLaCommande - prixPayeTotal - (decimal)Txb_paiement_montantRemise;
                        if (resteAPayer == 0)
                        {
                            //Mise à jour de la commande, le champ cmd_payee passe à 1
                            comdRendu.payee      = true;
                            comdRendu.date_rendu = DateTime.Now;
                        }
                        else
                        {
                            MessageBox.Show("Un reste à payer de " + resteAPayer);
                        }
                        if (Txb_paiement_montantRemise != 0)
                        {
                            comdRendu.remise = Txb_paiement_montantRemise;
                        }
                        if (Txb_paiement_montantRemise != 0 || resteAPayer == 0)
                        {
                            CommandeDAO.updateCommande(comdRendu);
                        }



                        Commande cmdTota = CommandeDAO.selectCommandeById(comdRendu.id, true, true, true);

                        try
                        {
                            RecuPaiement rp = new RecuPaiement(cmdTota);
                            rp.printRecu();
                            rp.printRecu();
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Impression refusée");
                        }
                        finally
                        {
                            //initialise tout
                            ClasseGlobale.SET_ALL_NULL();
                        }
                    }
                    //Si je ne  viens pas des pages précedentes
                    //Mes liste sont vides => paiement déjà effectué

                    else
                    {
                        MessageBox.Show("La commande à été correctement enregistrée, cliquez sur le bouton home pour retourner à l'accueil");
                    }
                    //Accueil page2Obj = new Accueil(); //Create object of Page2
                    //page2Obj.Show(); //Show page2
                    //this.Close();
                }
                else
                {
                    MessageBox.Show("Toute la commande n'a pas été payée. Veuillez s'il vous plait compléter l'intégralité du paiement.");
                }
            }
            else
            {
                MessageBox.Show("La commande à été correctement enregistrée, cliquez sur le bouton home pour retourner à l'accueil");
            }
        }