示例#1
0
        private void BtnAjouterProduitAuPanier_Click(object sender, EventArgs e)
        {
            if (Validation.VerifierChampsMontant(txtQuantite.Text) && Validation.VerifierChampsMontant(cbxPUProduit.Text))
            {
                var montant = int.Parse(cbxPUProduit.Text) * int.Parse(txtQuantite.Text);

                ListViewItem item = new ListViewItem(cbxNomProduit.Text);
                item.SubItems.Add(txtQuantite.Text);
                item.SubItems.Add(cbxPUProduit.Text);
                item.SubItems.Add(montant.ToString());

                for (int i = 0; i < listView1.Items.Count; i++)
                {
                    if (listView1.Items[i].SubItems[0].Text == item.SubItems[0].Text)
                    {
                        MessageBox.Show("Ce produit est déjà dans le panier.");
                        return;
                    }
                }

                listView1.Items.Add(item);

                lblTotalFacture.Text = TotalFacture().ToString();
                var      produitFini = cbxNomProduit.GetItemText(cbxNomProduit.SelectedItem);
                DateTime date        = DateTime.Today.AddDays(1);
                txtSoldeStockProduit.Text = (GestionStocks.CalculerSoldeStockProduitFini(produitFini, date) - int.Parse(txtQuantite.Text)).ToString();
                txtQuantite.Clear();
            }
        }
示例#2
0
        private void MettreAJourStockProduitFini()
        {
            var      produitFini = cbxNomProduit.GetItemText(cbxNomProduit.SelectedItem);
            DateTime date        = DateTime.Today.AddDays(1);

            txtSoldeStockProduit.Text = GestionStocks.CalculerSoldeStockProduitFini(produitFini, date).ToString();
        }
示例#3
0
        private void BtnIncrementQuantitePSF_Click(object sender, EventArgs e)
        {
            DateTime aujourdhui         = DateTime.Today;
            string   produit            = lvwListeMatieresP.FocusedItem.SubItems[0].Text;
            float    stockProduitSFinis = GestionStocks.CalculerSoldeStockProduitSemiFini(produit, aujourdhui);

            AugmenterQuantite(lvwListProduitsSemiFinisUtilises, stockProduitSFinis);
        }
示例#4
0
        private void BtnAugmenterQuantiteMP_Click(object sender, EventArgs e)
        {
            DateTime aujourdhui           = DateTime.Today;
            string   matiere              = lvwListeMatieresP.FocusedItem.SubItems[0].Text;
            float    stockMatierePremiere = GestionStocks.CalculerSoldeStockMatierePremiere(matiere, aujourdhui);

            AugmenterQuantite(lvwListeMatieresP, stockMatierePremiere);
        }
示例#5
0
 private float ChargerStockMatierePremiere(string nomMatierePrem)
 {
     return(GestionStocks.CalculerSoldeStockMatierePremiere(nomMatierePrem, dtpDateProduction.Value.Date));
 }
示例#6
0
        private void AfficherJournalCorrespondant(string nomMatiere)
        {
            float coutUnitaire = GestionStocks.CalculerCoutUnitaireMatierePremiere(nomMatiere);

            var entreesAchat = (from mp in db.ResStockMatieresPremieres
                                join rmp in db.EveReceptionMatieresPremieres on mp.CodeMatierePremiere equals rmp.CodeMatierePremiere
                                where mp.NomMatiere == nomMatiere
                                select new
            {
                Date = rmp.DateReception,
                Description = "Achat de " + mp.NomMatiere,
                Entree = rmp.Quantite,
                Sortie = 0f,
                Solde = 0f,
            });

            var entreesDon = (from mp in db.ResStockMatieresPremieres
                              join dmp in db.EveReceptionDonsMatieresPremieres on mp.CodeMatierePremiere equals dmp.CodeMatierePremiere
                              where mp.NomMatiere == nomMatiere
                              select new
            {
                Date = dmp.DateReception,
                Description = "Don de " + dmp.AgeFournisseursMatieresPremiere.Nom,
                Entree = (float)dmp.Quantite,
                Sortie = 0f,
                Solde = 0f
            });
            var entreesTransvasage = (from str in db.EveTransvasements
                                      join mp in db.ResStockMatieresPremieres on str.CodeEmballageInitial equals mp.CodeMatierePremiere
                                      where mp.NomMatiere == nomMatiere
                                      select new
            {
                Date = str.DateOperation,
                Description = "Transvasage",
                Entree = (float)str.QuantiteATransvaser,
                Sortie = 0f,
                Solde = 0f
            });

            var sortiesProduction = (from mp in db.ResStockMatieresPremieres
                                     join ump in db.EveUtilisationMatieresPremieres on mp.CodeMatierePremiere equals ump.CodeMatierePremiere
                                     join ur in db.EveUtilisationRessources on ump.CodeUtilisationRessource equals ur.CodeUtilisationRessources
                                     join p in db.EveProductions on ur.CodeUtilisationRessources equals p.CodeUtilisationRessources
                                     where mp.NomMatiere == nomMatiere
                                     select new
            {
                p.Date,
                Description = "Utilisation de " + mp.NomMatiere,
                Entree = 0f,
                Sortie = ump.QuantiteMatierePremiere,
                Solde = 0f
            });
            var sortiesTransvasage = (from str in db.EveTransvasements
                                      join mp in db.ResStockMatieresPremieres on str.CodeEmballageFinal equals mp.CodeMatierePremiere
                                      where mp.NomMatiere == nomMatiere
                                      select new
            {
                Date = str.DateOperation,
                Description = "Transvasage",
                Entree = 0f,
                Sortie = (float)str.QuantiteATransvaser,
                Solde = 0f
            });
            var sortiesAutre = (from mp in db.ResStockMatieresPremieres
                                join dmp in db.EveSortieDechetsMatieresPremieres on mp.CodeMatierePremiere equals dmp.CodeMatierePremiere
                                where mp.NomMatiere == nomMatiere
                                select new
            {
                Date = dmp.DateSortie,
                Description = "Perte de " + mp.NomMatiere,
                Entree = 0f,
                Sortie = (float)dmp.QuantiteMatierePremiere,
                Solde = 0f
            });

            var resultats = entreesAchat
                            .Concat(entreesDon)
                            .Concat(entreesTransvasage)
                            .Concat(sortiesProduction)
                            .Concat(sortiesTransvasage)
                            .Concat(sortiesAutre)
                            .OrderByDescending(d => d.Date)
                            .ToList();

            var stockInitial = (from mp in db.ResStockMatieresPremieres
                                where mp.NomMatiere == nomMatiere
                                select mp.StockMatiere).FirstOrDefault();

            DataTable dt = Conversion.ConvertirEnTableDeDonnees(resultats);

            DataRow dr = dt.NewRow();

            dt.Rows.InsertAt(dr, dt.Rows.Count);
            dr["Entree"]      = 0;
            dr["Sortie"]      = 0;
            dr["Description"] = "Stock Initial";

            dgvJournalStocksMatieresPremieres.DataSource = dt;

            Formattage.TableauDesStock(dgvJournalStocksMatieresPremieres);
            GestionStocks.CalculerSoldeStocksDeFaconProgressive(dgvJournalStocksMatieresPremieres, stockInitial);
            Formattage.ChangerTitreTableauDesStocks(dgvJournalStocksMatieresPremieres, "kg");
        }
示例#7
0
        private void AfficherJournalCorrespondant(string nomProduit)
        {
            //var coutUnitaire = 0f;

            var stockInitial = (from pf in db.ResStockProduitsFinis
                                where pf.NomProduit == nomProduit
                                select pf.StockProduit).FirstOrDefault();

            var entrees = (from pf in db.ResStockProduitsFinis
                           join ppf in db.EveProductionStockProduitsFinis on pf.CodeProduit equals ppf.CodeProduitFini
                           join prod in db.EveProductions on ppf.CodeProduction equals prod.CodeProduction
                           where pf.NomProduit == nomProduit

                           select new
            {
                prod.Date,
                Description = "Production",
                Entree = ppf.QuantiteProduitFini,
                Sortie = 0,
                Solde = 0
            });
            var entreesTransvasage = (from etrv in db.EveTransvasements
                                      join pf in db.ResStockProduitsFinis on etrv.CodeProduitFinal equals pf.CodeProduit
                                      where pf.NomProduit == nomProduit
                                      select new
            {
                Date = etrv.DateOperation,
                Description = "Transvasage",
                Entree = (int)etrv.QuantiteATransvaser,
                Sortie = 0,
                Solde = 0
            });

            var sorties = (from pf in db.ResStockProduitsFinis
                           join vpf in db.EveVenteStockProduitsFinis on pf.CodeProduit equals vpf.CodeProduitFini
                           join v in db.EveVentes on vpf.CodeVente equals v.CodeVente
                           where pf.NomProduit == nomProduit

                           select new
            {
                Date = v.DateVente,
                Description = "Vente",
                Entree = 0,
                Sortie = vpf.QuantiteProduitFini,
                Solde = 0
            });
            var sortiesTransvasage = (from etrv in db.EveTransvasements
                                      join pf in db.ResStockProduitsFinis on etrv.CodeProduitInitial equals pf.CodeProduit
                                      where pf.NomProduit == nomProduit
                                      select new
            {
                Date = etrv.DateOperation,
                Description = "Transvasage",
                Entree = 0,
                Sortie = (int)etrv.QuantiteATransvaser,
                Solde = 0
            });

            var sortiesDonsDechets = (from sdd in db.EveSortieDonsOuDechetsProduitsFinis
                                      join pf in db.ResStockProduitsFinis on sdd.CodeProduitFini equals pf.CodeProduit
                                      where pf.NomProduit == nomProduit
                                      select new
            {
                Date = sdd.DateSortie,
                sdd.Description,
                Entree = 0,
                Sortie = (int)sdd.QuantiteProduitFini,
                Solde = 0
            });

            var resultat = entrees
                           .Concat(entreesTransvasage)
                           .Concat(sorties)
                           .Concat(sortiesTransvasage)
                           .Concat(sortiesDonsDechets)
                           .OrderByDescending(d => d.Date)
                           .ToList();

            DataTable dt = Conversion.ConvertirEnTableDeDonnees(resultat);

            DataRow dr = dt.NewRow();

            dt.Rows.InsertAt(dr, dt.Rows.Count);
            dr["Entree"]      = 0;
            dr["Sortie"]      = 0;
            dr["Description"] = "Stock initial";

            dgvJournalStocksProduitsFinis.DataSource = dt;

            Formattage.TableauDesStock(dgvJournalStocksProduitsFinis);
            GestionStocks.CalculerSoldeStocksDeFaconProgressive(dgvJournalStocksProduitsFinis, stockInitial);

            Formattage.ChangerTitreTableauDesStocks(dgvJournalStocksProduitsFinis, "unité");
        }