//Methode affichant l'etat central par nom d'articles
        public static void AfficherEtatStockCentral(StockBureaucentral frm, bool filtre)
        {
            using (var sim = new SIM_Context())
            {
                IEnumerable <Object> result = null;
                if (filtre)
                {
                    result = from s in sim.StockCentrals
                             where s.Article.nom.ToUpper().StartsWith(frm.TxtNom.Text.ToUpper())
                             select new
                    {
                        Numero      = s.Article.numArticle,
                        Nom         = s.Article.nom,
                        Catetorie   = s.Article.categorie,
                        QteEnStock  = s.Article.StockCentral.qte,
                        QteCritique = s.qteCritique
                    };
                }
                else
                {
                    result = from s in sim.StockCentrals
                             select new
                    {
                        Numero      = s.Article.numArticle,
                        Nom         = s.Article.nom,
                        Catetorie   = s.Article.categorie,
                        QteEnStock  = s.Article.StockCentral.qte,
                        QteCritique = s.qteCritique
                    };
                }

                frm.GridEtatStock.DataSource = result.ToList();
                frm.GridEtatStock.DataBind();
            }
        }
Example #2
0
        public static void Modifier(ModifierArticle frmArticle)
        {
            TextBox nom         = frmArticle.TxtNom;
            TextBox description = frmArticle.TxtDescription;
            int     num         = int.Parse(frmArticle.TxtNum.Text);

            using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/)
            {
                try
                {
                    Article article;
                    //Verifier l'existence de l'article
                    if ((article = sim.Articles.Find(num)) != null)
                    {
                        //Modification de l'article
                        article.nom         = frmArticle.TxtNom.Text;
                        article.description = frmArticle.TxtDescription.Text;
                        article.categorie   = frmArticle.TxtCategorie.Text;
                        article.prixAchat   = double.Parse(frmArticle.TxtPxAchat.Text);
                        article.prixVente   = double.Parse(frmArticle.TxtPxVente.Text);

                        //Sauvegarde de l'article
                        sim.SaveChanges();

                        //Affichage de la mise à jour de la liste.
                        frmArticle.LblResultatModificationArticle.Text = "Article modifié avec succes!";
                        //frmArticle.Server.Transfer("RechercherArticle.aspx");
                    }
                }
                catch (Exception)
                {
                    frmArticle.LblResultatModificationArticle.Text = "Les prix d'achat et de ventes nombre seulement!";
                }
            }
        }
Example #3
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();
                }
            }
        }
 //Enregistrer un fournisseur
 public static void Enregistrer(NouveauFournisseur frm)
 {
     if (Rechercher(telephone: frm.TxtTelephone.Text, nom: frm.TxtNom.Text) == null)
     {
         using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/)
         {
             try
             {
                 Fournisseur fournisseur = sim.Fournisseurs.Add(
                     new Fournisseur
                 {
                     nom       = frm.TxtNom.Text,
                     adresse   = frm.TxtAdresse.Text,
                     telephone = frm.TxtTelephone.Text
                 }
                     );
                 int n = sim.SaveChanges();//Procedure stockee à intégrer ...
                 frm.TxtNum.Text = fournisseur.numFournisseur.ToString();
                 //Message de confirmation!
                 frm.LblResultatNouveauFournisseur.Text = "Fournisseur enregistrer avec SUCCES!";
             }
             catch (Exception ex)
             {
                 frm.LblResultatNouveauFournisseur.Text = "Erreur enregistrement fournisseur";
             }
         }
     }
     else
     {
         frm.LblResultatNouveauFournisseur.Text = "Attention! Fournisseur existe deja!";
     }
 }
Example #5
0
        //Rechercher un article par nom  (enStock=true: Article en stock / enStock=false: Article simplement enregistré)
        private static List <Article> Rechercher(string nom, bool enStock)
        {
            List <Article> listArticle = null;

            using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/)
            {
                IEnumerable <Article> result = null;

                if (!enStock)
                {
                    result = from a in sim.Articles
                             where a.nom.ToUpper().StartsWith(nom.ToUpper())
                             select a;
                }
                else
                {
                    result = from a in sim.Articles
                             where a.nom.ToUpper().StartsWith(nom.ToUpper()) &&
                             a.StockCentral.Article != null
                             select a;
                }

                if (result != null && result.Count() > 0)
                {
                    listArticle = result.ToList();
                }
            }

            return(listArticle);
        }
Example #6
0
        //Recevoir une commande
        public static void RecevoirCommande(RecevoirCommande frm)
        {
            try
            {
                //Recuperation du numero de commande
                int numCommande = int.Parse(frm.Session["numCommande"].ToString());

                using (var sim = new SIM_Context())
                {
                    //Recuperation de l'objet commande
                    Commande commande = sim.Commandes.Find(numCommande);

                    if (commande != null)
                    {
                        foreach (LigneCommande l in commande.LigneCommandes)
                        {
                            //Selectionner l'article
                            Article article = l.Article;

                            //Selectionner le StockCentral lié à l'article
                            StockCentral stockCentral = sim.StockCentrals.Find(article.numArticle);

                            if (stockCentral != null)//L'article est deja en stock
                            {
                                //Mise à jour de la quantite en stock
                                stockCentral.qte += l.quantite;
                            }
                            else
                            {
                                //Premiere commande pour cet article
                                sim.StockCentrals.Add(
                                    new StockCentral
                                {
                                    numArticle  = article.numArticle,
                                    qte         = l.quantite,
                                    qteCritique = 0
                                }
                                    );
                            }
                        }
                        int result = sim.SaveChanges();
                        frm.Session.Remove("numCommande");
                        frm.LblResultatNumeroCommande.Text = "";
                        frm.LblResultatRecevoir.Text       = "La commande a été reçu avec succes!";
                        frm.BtnRecevoir.Enabled            = false;
                        frm.BtnImprimer.Enabled            = false;
                    }
                }
            }
            catch (Exception)
            {
                frm.LblResultatRecevoir.Text = "Le numéro de la commande invalide";
            }
        }
        private void CharcherNumeroBonDistribution()
        {
            Utilisateur user   = Session["utilisateur"] as Utilisateur;
            var         sim    = new SIM_Context();
            var         result = from b in sim.BonDistributions
                                 where b.numFiliale == user.numFiliale
                                 select b;

            DDLNumBonDistribution.DataSource    = result.ToList();
            DDLNumBonDistribution.DataTextField = "numBonDistribution";
            DDLNumBonDistribution.DataBind();
        }
        //Rechercher tous les fournisseurs
        public static List <Fournisseur> Rechercher()
        {
            List <Fournisseur> listeFournisseur = null;

            using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/)
            {
                listeFournisseur = (from f in sim.Fournisseurs
                                    select f
                                    ).ToList();
            }
            return(listeFournisseur);
        }
        //Rechercher toutes les filiales
        public static List <Filiale> Rechercher()
        {
            List <Filiale> listeFiliale = null;

            using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/)
            {
                listeFiliale = (from f in sim.Filiales
                                where f.type != "Central"
                                select f
                                ).ToList();
            }
            return(listeFiliale);
        }
Example #10
0
        public static void Enregistrer(NouvelleBonDistribution frm)
        {
            //L'utilisateur en cours
            Utilisateur utilisateur = frm.Session["utilisateur"] as Utilisateur;

            //Mon fammeux objet bon distribution
            BonDistribution bnd = frm.Session["bonDistribution"] as BonDistribution;

            //Recuperer la filiale
            Filiale filiale = GestionFiliale.Rechercher(frm.CmbFiliale.SelectedValue);

            //Completion de l'objet bondistribution
            bnd.numFiliale          = filiale.numFiliale;
            bnd.dateBonDistribution = DateTime.Now;
            bnd.nomUtilisateur      = utilisateur.nomUtilisateur;
            //bnd.Filiale = filiale;
            bnd.NotificationBonDistributions.Add(
                new NotificationBonDistribution
            {
                message          = "Un bon de distribution vous a été envoyé",
                dateNotification = DateTime.Now,
                etat             = "0"//0: Nom, lu  1: Lu
            }
                );

            using (var sim = new SIM_Context())
            {
                //Mise à jour de la quantite du stock centrale pour chaque article distribué
                foreach (LigneBonDistribution l in bnd.LigneBonDistributions)
                {
                    sim.Articles.Find(l.numArticle).StockCentral.qte -= l.quantite;
                }

                //Sauvegarde du bon de distribution
                bnd = sim.BonDistributions.Add(bnd);
                int result = sim.SaveChanges();

                //Affichage numero bon de distribution
                frm.TxtNumBonDistribution.Text = bnd.numBonDistribution.ToString();

                //Mise à jour du grid
                frm.GridViewDistribution.DataSource = bnd.LigneBonDistributions;
                frm.GridViewDistribution.DataBind();

                frm.BtnEnregistrer.Enabled = false;
                frm.Session.Remove("bonDistribution");
                frm.LblResultatEnregistrer.Text = "Bon de distribution enregistré avec succes!";
                frm.LblResultatTxtQuantite.Text = "";
                //Message de confirmation : Le bon de distribution a été sauvegardé avec succès!
            }
        }
        protected void btnRecevoir_Click(object sender, EventArgs e)
        {
            //A deplacer dans le controleur approprie
            BonDistribution bnd = null;

            using (var sim = new SIM_Context())
            {
                bnd = sim.BonDistributions.Find(int.Parse(this.DDLNumBonDistribution.SelectedItem.Text));


                if (bnd != null)
                {
                    foreach (LigneBonDistribution l in bnd.LigneBonDistributions)
                    {
                        //Rechercher le stock de l'article dans la filiale
                        var result = from s in l.Article.Stocks
                                     where s.numArticle == l.numArticle && s.numFiliale == bnd.numFiliale
                                     select s;

                        if (result.Count() == 0)//Premiere distribution de l'article dans cette filiale
                        {
                            l.Article.Stocks.Add(
                                new Stock
                            {
                                numArticle    = l.numArticle,
                                numFiliale    = bnd.numFiliale,
                                qteEnStock    = l.quantite,
                                qteMoyenneMin = 0
                            }
                                );
                        }
                        else //Le stock de cet article existe deja dans cette filiale
                        {
                            result.Single().qteEnStock += l.quantite; //Peux pas distribuer un article deux fois!!!!! pour la meme filiale
                        }
                    }



                    sim.SaveChanges();
                    //Message de confirmation!
                    LblResultatRecevoirBonDistribution.Text = "Le bon a été reçu avec succes!";
                    BtnRecevoir.Enabled = false;

                    //efface le bon recu!(juste pour demonstration pour simuler la reception correct!!!)
                    //sim.NotificationBonDistributions.Remove(sim.NotificationBonDistributions.Find(bnd.numBonDistribution));
                    sim.BonDistributions.Remove(bnd);
                    sim.SaveChanges();
                }
            }
        }
Example #12
0
        //Rechercher un article par numero article
        public static Article Rechercher(int numArticle)
        {
            Article article = null;
            var     sim     = new SIM_Context();
            IEnumerable <Article> result = from a in sim.Articles
                                           where a.numArticle == numArticle
                                           select a;

            if (result.Count() > 0)
            {
                article = result.First();
            }
            return(article);
        }
Example #13
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";
            }
        }
Example #14
0
        //Qte en stock d'un article dans une filiale
        private static int GetQuantiteEnStock(int numArt, int numFiliale)
        {
            int qte = -1;

            using (var sim = new SIM_Context())
            {
                var result = from s in sim.Stocks
                             where s.numFiliale == numFiliale && s.numArticle == numArt
                             select s;
                if (result.Count() > 0)
                {
                    qte = result.Single().qteEnStock;
                }
            }
            return(qte);
        }
        //Rechercher un fournisseur par nom
        public static Fournisseur Rechercher(string nom)
        {
            Fournisseur fournisseur = null;

            using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/)
            {
                IEnumerable <Fournisseur> result = from f in sim.Fournisseurs
                                                   where f.nom == nom
                                                   select f;

                if (result.Count() > 0)
                {
                    fournisseur = result.First();
                }
            }
            return(fournisseur);
        }
Example #16
0
        //Enregistrer un nouvel article
        public static void Enregister(NouvelArticle frmArticle)
        {
            //TextBox nom = frmArticle.FindControl("txtNom") as TextBox;
            TextBox nom = frmArticle.TxtNom;
            //TextBox description = frmArticle.FindControl("txtDescription") as TextBox;
            TextBox description = frmArticle.TxtDescription;

            if (Rechercher(description: description.Text, nom: nom.Text) == null)
            {
                //TextBox categorie = frmArticle.FindControl("txtCategorie") as TextBox;
                DropDownList categorie = frmArticle.DDLCategorieNouvelArticle;
                //TextBox pxAchat = frmArticle.FindControl("txtPxAchat") as TextBox;
                TextBox pxAchat = frmArticle.TxtPxAchat;
                //TextBox pxVente = frmArticle.FindControl("txtPxVente") as TextBox;
                TextBox pxVente = frmArticle.TxtPxVente;

                using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/)
                {
                    try
                    {
                        Article article = sim.Articles.Add(new Article
                        {
                            nom         = nom.Text,
                            description = description.Text,
                            categorie   = categorie.SelectedValue.ToString(),
                            prixAchat   = double.Parse(pxAchat.Text),
                            prixVente   = double.Parse(pxVente.Text)
                        });
                        int n = sim.SaveChanges();//Procedure stockee à intégrer ...
                        frmArticle.TxtNum.Text = article.numArticle.ToString();

                        //Ajouter aussi un message de confirmation
                        frmArticle.LblResultatNouvelArticle.Text = "L'article a été enregistrer avec succes!";
                    }
                    catch (Exception)
                    {
                        //Affiche message si prix n'Est pas un nombre
                        frmArticle.LblResultatNouvelArticle.Text = "Prix d'achat et de vente en nombre seulement";
                    }
                }
            }
            else
            {
                frmArticle.LblResultatNouvelArticle.Text = "Attention! L'article existe déjà!";
            }
        }
Example #17
0
        //Rechercher un article par nom et par description
        private static Article Rechercher(string nom, string description)
        {
            Article article = null;

            using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/)
            {
                IEnumerable <Article> result = from a in sim.Articles
                                               where a.nom == nom && a.description == description
                                               select a;

                if (result.Count() > 0)
                {
                    article = result.First();
                }
            }
            return(article);
        }
Example #18
0
        //Rechercher une commande
        public static Commande RechercherCommande(int numCommande)
        {
            Commande commande = null;

            var sim = new SIM_Context();//Il faut absolument implementer L'interface IClonable pour toutes les entites

            IEnumerable <Commande> result = from c in sim.Commandes
                                            where c.numCommande == numCommande
                                            select c;

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

            return(commande);
        }
        //Rechercher une filiale  par nom
        public static Filiale Rechercher(string nom)
        {
            Filiale filiale = null;

            using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/)
            {
                IEnumerable <Filiale> result = from f in sim.Filiales
                                               where f.nom == nom
                                               select f;

                if (result.Count() > 0)
                {
                    filiale = result.First();
                }
            }
            return(filiale);
        }
        //Rechercher un utilisateur
        private static Utilisateur Rechercher(string user, string pass)//Exception à propager ici
        {
            Utilisateur utilisateur = null;

            using (var sim = new SIM_Context() /*SIM_Context.getInstance()*/)
            {
                var result = from u in sim.Utilisateurs
                             where u.nomUtilisateur == user && u.motDePasse == pass
                             select u;

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

            return(utilisateur);
        }
Example #21
0
        //Enregistrer une commande
        public static void EnregisterCommande(NouvelleCommande frm)
        {
            //L'utilisateur en cours
            Utilisateur utilisateur = frm.Session["utilisateur"] as Utilisateur;

            //Mon fammeux objet commande
            Commande cmd = frm.Session["commande"] as Commande;

            //Recuperer le fournisseur
            Fournisseur fournisseur = GestionFournisseur.Rechercher(frm.CmbFournisseur.SelectedValue);

            //Completion de l'objet commande
            cmd.numFournisseur = fournisseur.numFournisseur;
            cmd.dateCommande   = DateTime.Now;
            try
            {
                cmd.nomUtilisateur = utilisateur.nomUtilisateur;

                using (var sim = new SIM_Context())
                {
                    //Sauvegarde de la commande
                    cmd = sim.Commandes.Add(cmd);
                    int result = sim.SaveChanges();

                    //Affichage numero commande
                    frm.TxtNumCommande.Text = cmd.numCommande.ToString();

                    //Mise à jour du grid
                    frm.GridViewCommande.DataSource = cmd.LigneCommandes;
                    frm.GridViewCommande.DataBind();

                    frm.BtnEnregistrer.Enabled = false;
                    frm.Session.Remove("commande");
                    frm.LblResultatEnregistrer.Text = "Nouvelle commande enregistré avec succes!";
                    //Message de confirmation : La commande a été sauvegardée avec succes
                }
            }
            catch (Exception)
            {
                frm.LblResultatEnregistrer.Text = "Vous êtes pas authentifié";
            }
            //cmd.Fournisseur = fournisseur;
        }
 protected void btnRechercher_Click(object sender, EventArgs e)
 {
     try
     {
         //A deplacer dans le controleur approprie
         BonDistribution bnd = null;
         using (var sim = new SIM_Context())
         {
             bnd = sim.BonDistributions.Find(int.Parse(this.DDLNumBonDistribution.SelectedItem.Text));
             if (bnd != null)
             {
                 //this.TxtNumBondistribution.Text = bnd.numBonDistribution.ToString();
                 this.TxtNomFiliale.Text             = bnd.Filiale.nom;
                 this.TxtDateBonDistribution.Text    = bnd.dateBonDistribution.ToShortDateString();
                 this.GridBonDistribution.DataSource = (from b in bnd.LigneBonDistributions
                                                        select new
                 {
                     NumeroArticle = b.numArticle,
                     NomArticle = b.Article.nom,
                     Description = b.Article.description,
                     Quantite = b.quantite
                 }
                                                        ).ToList();
                 this.GridBonDistribution.DataBind();
             }
             else
             {
                 lblResultatNumeroBonDistribution.Text = "Bon de distribution n'existe pas";
                 return;
             }
             lblResultatNumeroBonDistribution.Text = "";
             BtnRecevoir.Enabled           = true;
             BtnImprimer.Enabled           = true;
             BtnRechercher.Enabled         = false;
             DDLNumBonDistribution.Enabled = false;
         }
     }
     catch (Exception)
     {
         lblResultatNumeroBonDistribution.Text = "Champ obligatoire en numérique!";
     }
 }