Beispiel #1
0
        //Ajout d'une ligne de bon de distribution
        public static void Ajouter(NouvelleBonDistribution frm)
        {
            try
            {
                int numArticle = int.Parse(frm.TxtNumArticle.Text);
                int quantite   = int.Parse(frm.TxtQuantite.Text);
                //Avant d'aller plus loin, verifier si l'article est en stock ou possede la qte demandée
                Article article = GestionArticle.Rechercher(numArticle);
                if (article != null)
                {
                    StockCentral stockCentral = article.StockCentral;
                    if (stockCentral != null)
                    {
                        if (stockCentral.qte >= quantite)
                        {
                            BonDistribution      bonDistribution = frm.Session["bonDistribution"] as BonDistribution;
                            LigneBonDistribution ligne           = RechercherLigneBonDistribution(numArticle, bonDistribution.LigneBonDistributions);
                            if (ligne == null)
                            {
                                ligne = new LigneBonDistribution
                                {
                                    numArticle = numArticle,
                                    quantite   = quantite,
                                    //Article=article
                                };
                                bonDistribution.LigneBonDistributions.Add(ligne);
                            }
                            else
                            {
                                ligne.quantite += quantite;
                            }

                            frm.GridViewDistribution.DataSource = bonDistribution.LigneBonDistributions;
                            frm.GridViewDistribution.DataBind();

                            frm.TxtNumArticle.Text          = "";
                            frm.TxtNom.Text                 = "";
                            frm.TxtQuantite.Text            = "";
                            frm.LblResultatEnregistrer.Text = "";
                            frm.LblResultatTxtQuantite.Text = "Article a été ajouté dans la liste bon distribution";
                        }
                        else
                        {
                            //Message: Quantite insufisante, la quantite en etock est : stockCentral.qte
                            frm.LblResultatTxtQuantite.Text = "Quantite insufisante! La quantite en etock est : " + stockCentral.qte;
                        }
                    }
                    else
                    {
                        //Message: Cet article n'est pas en stock, Veuillez commander SVP!
                        frm.LblResultatTxtQuantite.Text = "Cet article n'est pas en stock, Veuillez commander SVP!";
                    }
                }
            }
            catch (Exception e)
            {
                frm.LblResultatTxtQuantite.Text = "Champ oblitatoire et en numérique!";
            }
        }
        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();
                }
            }
        }
Beispiel #3
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 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!";
     }
 }
Beispiel #5
0
        //Supprimer une ligne du bon de distribution
        public static void supprimmerLigne(NouvelleBonDistribution frm, int numArticle)
        {
            BonDistribution bonDistribution = frm.Session["bonDistribution"] as BonDistribution;

            LigneBonDistribution ligne = RechercherLigneBonDistribution(numArticle, bonDistribution.LigneBonDistributions);

            if (ligne != null)
            {
                //Suppression de la ligne
                bonDistribution.LigneBonDistributions.Remove(ligne);

                //Mise à jour du grid
                frm.GridViewDistribution.DataSource = bonDistribution.LigneBonDistributions;
                frm.GridViewDistribution.DataBind();
            }
            else
            {
                //Erreur systeme grave!!!!!!  à ne pas traiter dans la page
            }
        }
Beispiel #6
0
        //Initilatisation du bon de distribution
        public static void InitialiserBon(NouvelleBonDistribution frm)
        {
            BonDistribution bonDistribution = new BonDistribution();

            frm.Session["bonDistribution"] = bonDistribution;
        }