Beispiel #1
0
        //Lister articles dans la fenetre vente
        public static void ListerArticles(NouvelleVente frm)
        {
            frm.LblTxtQuantite.Text = "";

            if (!frm.TxtArticle.Text.Equals(""))
            {
                var sim = new SIM_Context();

                Utilisateur user   = frm.Session["utilisateur"] as Utilisateur;
                var         result = from a in sim.Stocks
                                     where a.numFiliale == user.numFiliale &&
                                     a.Article.nom.ToUpper().StartsWith(frm.TxtArticle.Text.ToUpper()) &&
                                     a.qteEnStock > 0
                                     select new
                {
                    NumArticle      = a.numArticle,
                    NomArticle      = a.Article.nom,
                    Description     = a.Article.description,
                    PrixVente       = a.Article.prixVente,
                    QuantiteEnStock = a.qteEnStock
                };

                if (result.Count() > 0)
                {
                    frm.GridArticle.DataSource = result.ToList();
                    frm.GridArticle.DataBind();
                }
            }
        }
Beispiel #2
0
        //Initialiser la vente
        public static void InitialiserVente(NouvelleVente frm)
        {
            Utilisateur user = frm.Session["utilisateur"] as Utilisateur;

            Vente vente = new Vente();

            vente.numFiliale     = user.numFiliale;
            vente.nomUtilisateur = user.nomUtilisateur;

            frm.Session["vente"] = vente;
        }
Beispiel #3
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!";
            }
        }
Beispiel #4
0
        //Valider une vente
        public static void ValiderVente(NouvelleVente frm)
        {
            try
            {
                Utilisateur user      = frm.Session["utilisateur"] as Utilisateur;
                Vente       vente     = frm.Session["vente"] as Vente;
                string      sms       = "Commande en urgence pour les articles suivants : ";
                bool        temoinMsg = false;

                using (var sim = new SIM_Context())
                {
                    foreach (LigneVente l in vente.LigneVentes)
                    {
                        //Mise à jour de la quantite en stock
                        //Stock stock = sim.Stocks.Find(new object[] { l.numArticle, user.numFiliale});//Douteux?
                        Stock stock = (from s in sim.Stocks
                                       where s.numArticle == l.numArticle &&
                                       s.numFiliale == user.numFiliale
                                       select s
                                       ).Single();
                        stock.qteEnStock -= l.quantite;
                        if (stock.qteEnStock == stock.qteMoyenneMin)
                        {
                            sms      += "(" + stock.numArticle + "," + stock.Article.nom + ") ";
                            temoinMsg = true;
                        }
                    }

                    vente.dateVente = DateTime.Now;
                    vente           = sim.Ventes.Add(vente);
                    int ok = sim.SaveChanges();
                    frm.TxtNumVente.Text  = vente.numVente.ToString();
                    frm.TxtDateVente.Text = vente.dateVente.ToShortDateString();

                    //Notification
                    if (temoinMsg)
                    {
                        Sms.SendSms(sms);
                    }
                    //Message: La vente a été éffectuée avec succès
                    frm.LblResultatValiderNouvelVente.Text = "La vente a été éffectuée avec succès";
                }
            }
            catch (Exception ex)
            {
                frm.LblResultatValiderNouvelVente.Text = "Erreur dans le formulaire de vente. SVP appeler le support techniques";
            }
        }