public LigneDeVente(Produit produit, int qte, string designation, decimal pTTC)
        {
            // controles
            if (produit == null) throw new ProduitNullLigneDeVenteException("Produit ne peut être null !");
            if (qte == 0) throw new QuantiteLigneDeVenteException("La quantité ne peut être égale à 0!");
            this.Qte = qte;
            LeProduitReference = produit;

            DescriptionProduit = designation;
            PrixUttc = pTTC;
        }
        public LigneDeVente(Produit produit, int qte)
        {
            // controles
            if (produit == null) throw new ProduitNullLigneDeVenteException("Produit ne peut être null !");
            if (qte == 0) throw new QuantiteLigneDeVenteException("La quantité ne peut être égale à 0!");
            this.Qte = qte;
            LeProduitReference = produit;

            DescriptionProduit = LeProduitReference.Description;
            PrixUttc = LeProduitReference.PrixTtc;
        }
        // saisie d'un article non généric
        internal void AjouterLigneDeVente(Vente venteEnCours, Produit article, int qte)
        {
            // Je ne peux pas ajouter une ligne de vente si il existe déjà un paiement
            if (venteEnCours.Paiements.Count > 0) throw new ExisteDejaUnPaiement("Impossible d'ajouter une ligne sur une vente tout ou partie réglée");

            // Recherch=e existence ligne de vente pour cet article avec qte >0
            var ldv = venteEnCours.LigneDeVentes.FirstOrDefault(l => l.LeProduitReference == article && l.Qte > 0);
            if (ldv == null)
            {
                //création nouvelle ligne
                ldv = ldvMgr.CreerLigneDeVente(article, qte);
                venteEnCours.LigneDeVentes.Add(ldv);

            }
            else
            {
                // Mise à jour ligne
                ldvMgr.MettreAJourLigneDeVente(ldv, qte);
            }
        }
 public void MettreAJourTva(Produit p)
 {
     pDao.Update(p);
 }
 public void CreerProduit(Produit p)
 {
     pDao.Insert(p);
 }
 public void MettreAJourProduit(Produit p)
 {
     produitMgr.MettreAJourProduit(p);
 }
 public void CreerProduit(Produit p)
 {
     produitMgr.CreerProduit(p);
 }
 public LigneDeVente CreerLigneDeVente(Produit article, int qte)
 {
     return new LigneDeVente(article, qte);
 }