Esempio n. 1
0
        //Ajouter une ligne vente dans la vente encours
        public static void Ajouter(NouvelleVente frm)
        {
            try
            {
                int         numArticle = int.Parse(frm.TxtNumArticle.Text);
                int         quantite   = int.Parse(frm.TxtQuantite.Text);
                double      prixVente  = double.Parse(frm.TxtPrixVente.Text);
                Utilisateur user       = frm.Session["utilisateur"] as Utilisateur;
                Vente       vente      = frm.Session["vente"] as Vente;

                int qteStock = GetQuantiteEnStock(numArticle, user.numFiliale);
                if (qteStock > 0 && qteStock >= quantite)
                {
                    //Récuperer une ligne vente encours
                    LigneVente ligne = RechercherLigneVente(numArticle, vente.LigneVentes);

                    if (ligne == null)
                    {
                        vente.LigneVentes.Add(
                            new LigneVente
                        {
                            numArticle = numArticle,
                            quantite   = quantite,
                            prix       = prixVente
                        }
                            );

                        vente.montant      += prixVente * quantite;
                        frm.TxtMontant.Text = vente.montant.ToString();
                    }
                    else
                    {
                        ligne.quantite     += quantite;
                        vente.montant      += prixVente * quantite;
                        frm.TxtMontant.Text = vente.montant.ToString();
                    }

                    frm.GridLigneVente.DataSource = vente.LigneVentes;
                    frm.GridLigneVente.DataBind();

                    frm.LblTxtQuantite.Text = "Ajout avec succes!";
                }
                else
                {
                    //Message : Qte en stock
                    frm.LblTxtQuantite.Text = "Quantité en stock insufisante!";
                }
            }
            catch (Exception)
            {
                frm.LblTxtQuantite.Text = "En numérique obligatoire!";
            }
        }
Esempio n. 2
0
        //Rechercher une ligne de vente dans la vente encours
        private static LigneVente RechercherLigneVente(int numArt, ICollection <LigneVente> ligneVente)
        {
            LigneVente ligne = null;

            IEnumerable <LigneVente> result = from l in ligneVente
                                              where l.numArticle == numArt
                                              select l;

            if (result.Count() > 0)
            {
                ligne = result.Single();
            }

            return(ligne);
        }
Esempio n. 3
0
        protected void btnAjouter_Click(object sender, EventArgs e)
        {
            LigneVente p = new LigneVente();

            p.idApp = int.Parse(cbbApprovisionnement.SelectedValue.ToString());
            p.idP   = int.Parse(cbbProduit.SelectedValue.ToString());
            p.idV   = int.Parse(cbbVente.SelectedValue.ToString());
            p.qte   = decimal.Parse(txtQte.Text);
            p.puV   = decimal.Parse(txtPuV.Text);
            db.LigneVente.Add(p);
            Produit pd = db.Produit.FirstOrDefault((r => r.idP == p.idP));

            pd.qteP = (decimal)pd.qteP - (decimal)p.qte;
            //db.Produit.Add(pd);
            db.SaveChanges();
            Server.Transfer("frmLigneVente.aspx");
        }