Example #1
0
        public void Calculer(Boolean Dependance = true)
        {
            if (!EstCharge)
            {
                return;
            }

            Double pPrix_Unitaire    = 0;
            Double pDebours_Unitaire = 0;

            foreach (Ligne_Poste Ligne in ListeLignePoste)
            {
                if (!Ligne.Statut)
                {
                    continue;
                }

                if (Ligne.Prix_Forfaitaire)
                {
                    Ligne.Calculer(false);
                }

                pPrix_Unitaire    += Ligne.Prix_Ht;
                pDebours_Unitaire += Ligne.Debours_Unitaire;
            }

            Prix_Unitaire  = ArrondiEuro(Outils.Plafond(pPrix_Unitaire, Arrondi));
            Marge_Unitaire = ArrondiEuro(Prix_Unitaire - pDebours_Unitaire);

            Prix_Ht = Prix_Unitaire * Qte;
            Marge   = Marge_Unitaire * Qte;
            //Marge_Pct = ArrondiPct((Marge / Prix_Ht) * 100);
            if (Marge == Prix_Ht)
            {
                Marge_Pct = 100;
            }
            else
            {
                Marge_Pct = ArrondiPct(((Prix_Ht / (Prix_Ht - Marge)) - 1) * 100);
            }

            CalculerFacture(false);

            if (Dependance && (Devis != null))
            {
                Devis.Calculer();
            }
        }
Example #2
0
        public override Boolean Supprimer()
        {
            if (!EstCharge)
            {
                return(false);
            }

            SupprimerListe(_ListeLignePoste);
            SupprimerListe(_ListeLigneFacture);

            if (Devis != null)
            {
                Devis.ListePoste.Remove(this);
            }

            Bdd2.Supprimer <Poste>(this);

            if (Devis != null)
            {
                Devis.Calculer();
            }

            return(true);
        }
Example #3
0
        private void Nettoyer(Boolean Calculer = true)
        {
            ListeObservable <Devis>       ListeDevis       = Bdd2.Liste <Devis>();
            ListeObservable <Poste>       ListePoste       = Bdd2.Liste <Poste>();
            ListeObservable <Ligne_Poste> ListeLigne_Poste = Bdd2.Liste <Ligne_Poste>();
            ListeObservable <Achat>       ListeAchat       = Bdd2.Liste <Achat>();

            ListeObservable <Facture>       ListeFacture       = Bdd2.Liste <Facture>();
            ListeObservable <Ligne_Facture> ListeLigne_Facture = Bdd2.Liste <Ligne_Facture>();

            String Titre = "Calcul des lignes de factures : ";
            int    i     = 1;
            int    tt    = ListeLigne_Facture.Count();

            foreach (Ligne_Facture Ligne_Facture in ListeLigne_Facture)
            {
                this.Title = Titre + " " + i.ToString() + "/" + tt.ToString();

                if (Ligne_Facture.Facture == null)
                {
                    Ligne_Facture.Supprimer();
                }
                else if (Calculer)
                {
                    Ligne_Facture.Calculer(false);
                }

                i++;
            }

            Titre = "Calcul des factures : ";
            i     = 1;
            tt    = ListeFacture.Count();
            foreach (Facture Facture in ListeFacture)
            {
                this.Title = Titre + " " + i.ToString() + "/" + tt.ToString();

                if ((Facture.Devis == null) || (Facture.ListeLigneFacture.Count == 0))
                {
                    Facture.Supprimer();
                }
                else if (Calculer)
                {
                    Facture.Calculer(false);
                }

                i++;
            }

            Titre = "Calcul des lignes de poste : ";
            i     = 1;
            tt    = ListeLigne_Poste.Count();
            foreach (Ligne_Poste Ligne_Poste in ListeLigne_Poste)
            {
                this.Title = Titre + " " + i.ToString() + "/" + tt.ToString();

                if (Ligne_Poste.Poste == null)
                {
                    Ligne_Poste.Supprimer();
                }
                else if (Calculer)
                {
                    Ligne_Poste.Calculer(false);
                }

                i++;
            }

            Titre = "Calcul des postes : ";
            i     = 1;
            tt    = ListePoste.Count();
            foreach (Poste Poste in ListePoste)
            {
                this.Title = Titre + " " + i.ToString() + "/" + tt.ToString();

                if (Poste.Devis == null)
                {
                    Poste.Supprimer();
                }
                else if (Calculer)
                {
                    Poste.Calculer(false);
                }

                i++;
            }

            Titre = "Calcul des devis : ";
            i     = 1;
            tt    = ListeDevis.Count();
            foreach (Devis Devis in ListeDevis)
            {
                this.Title = Titre + " " + i.ToString() + "/" + tt.ToString();

                if (Devis.Client == null)
                {
                    Devis.Supprimer();
                }
                else if (Calculer)
                {
                    Devis.Calculer();
                }

                i++;
            }

            Titre = "Calcul des achats : ";
            i     = 1;
            tt    = ListeAchat.Count();
            foreach (Achat Achat in ListeAchat)
            {
                this.Title = Titre + " " + i.ToString() + "/" + tt.ToString();

                if (Achat.Devis == null)
                {
                    Achat.Supprimer();
                }
                else if (Calculer)
                {
                    Achat.Calculer();
                }

                i++;
            }
        }