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(); } }
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); }
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++; } }