Пример #1
0
        private void BtnAugmenterQuantite_Click(object sender, EventArgs e)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                try
                {
                    var      checkNumber = int.TryParse(lvwPanier.FocusedItem.SubItems[1].Text, out int result);
                    int      quantite    = int.Parse(lvwPanier.FocusedItem.SubItems[1].Text);
                    string   produit     = lvwPanier.FocusedItem.SubItems[0].Text;
                    DateTime date        = DateTime.Today.AddDays(1);
                    int      stock       = GestionStocks.CalculerSoldeStockProduitFini(produit, date);

                    if (quantite < stock)
                    {
                        quantite += 1;
                        lvwPanier.FocusedItem.SubItems[1].Text = quantite.ToString();
                        lvwPanier.FocusedItem.SubItems[3].Text = (quantite * float.Parse(lvwPanier.FocusedItem.SubItems[2].Text)).ToString();
                    }
                    else
                    {
                        MessageBox.Show("Il n'y a pas assez de produits en stocks.");
                        return;
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("Veuillez selectionner un produit dans la liste.");
                    return;
                }
            }
        }
Пример #2
0
        private void BtnAjouterProduitAuPanier_Click(object sender, EventArgs e)
        {
            if (Validation.VerifierChampsMontant(txtQuantite.Text) && Validation.VerifierChampsMontant(txtPU.Text))
            {
                var      montant = float.Parse(txtPU.Text) * int.Parse(txtQuantite.Text);
                string   produit = cbxListeProduits.GetItemText(cbxListeProduits.SelectedItem);
                DateTime date    = DateTime.Today.AddDays(1);
                int      stock   = GestionStocks.CalculerSoldeStockProduitFini(produit, date);

                if (int.Parse(txtQuantite.Text) <= stock)
                {
                    ListViewItem item = new ListViewItem(cbxListeProduits.Text);
                    item.SubItems.Add(txtQuantite.Text);
                    item.SubItems.Add(txtPU.Text);
                    item.SubItems.Add(montant.ToString());

                    for (int i = 0; i < lvwPanier.Items.Count; i++)
                    {
                        if (lvwPanier.Items[i].SubItems[0].Text == item.SubItems[0].Text)
                        {
                            MessageBox.Show("Ce produit est déjà dans le panier. Veuillez changer la quantité ou le prix unitaire.");
                            return;
                        }
                    }

                    lvwPanier.Items.Add(item);
                    txtPU.Clear();
                    txtQuantite.Clear();
                }
                else
                {
                    MessageBox.Show("Il n'y a pas assez de produits en stock. Veuillez diminuer la quantité.");
                }
            }
        }
Пример #3
0
        private void AfficherTableauProduitsFinis(DateTime date)
        {
            var produitsFinis = (from pf in db.ResStockProduitsFinis
                                 orderby pf.NomProduit
                                 select pf.NomProduit).ToList();

            DataTable dt = CreerTableau();

            foreach (var pf in produitsFinis)
            {
                var stock = GestionStocks.CalculerSoldeStockProduitFini(pf, date);
                var pu    = CoutDeProduction.CoutUnitaireProduction(pf);

                DataRow dr = dt.NewRow();
                dt.Rows.InsertAt(dr, dt.Rows.Count);
                dr["Description"]   = pf;
                dr["Stock"]         = stock;
                dr["Coût unitaire"] = pu;
                dr["Valeur"]        = stock * pu;
            }

            dgvTableauAffichageStocks.DataSource = dt;
            dt.Rows.Add("Total", 0, 0, Conversion.CalculerTotal(dgvTableauAffichageStocks, "Valeur"));
            FormatterTableau(dgvTableauAffichageStocks);
        }
 private void AfficherStockDisponible()
 {
     try
     {
         DateTime date     = dtpDateSortieDechetsOuDons.Value.Date;
         string   prdtFini = cbxProduitsFinis.GetItemText(cbxProduitsFinis.SelectedItem);
         txtStockDisponible.Text = GestionStocks.CalculerSoldeStockProduitFini(prdtFini, date).ToString();
     }
     catch (Exception)
     {
         MessageBox.Show("Erreur affichage stock produit fini.");
     }
 }
        public static Single ValeurStockProduitsFinis(DateTime date)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                Single valeurStockProduitsFinis = 0;
                var    listeProduitsFinis       = (from pf in db.ResStockProduitsFinis
                                                   select pf.NomProduit).ToList();

                foreach (var produitFini in listeProduitsFinis)
                {
                    valeurStockProduitsFinis += GestionStocks.CalculerSoldeStockProduitFini(produitFini, date) * CoutDeProduction.CoutUnitaireProduction(produitFini);
                }

                return(valeurStockProduitsFinis);
            }
        }
        public static int QuantiteDeProduitsVendus(string produitFini, DateTime debut, DateTime fin)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                int stockInitial = GestionStocks.CalculerSoldeStockProduitFini(produitFini, debut);
                int stockFinal   = GestionStocks.CalculerSoldeStockProduitFini(produitFini, fin);
                int entrees      = (from ppf in db.EveProductionStockProduitsFinis
                                    join pf in db.ResStockProduitsFinis on ppf.CodeProduitFini equals pf.CodeProduit
                                    join p in db.EveProductions on ppf.CodeProduction equals p.CodeProduction
                                    where pf.NomProduit == produitFini
                                    where p.Date >= debut
                                    where p.Date <= fin
                                    select(int?) ppf.QuantiteProduitFini).Sum() ?? 0;

                var autresSorties = (from asort in db.EveSortieDonsOuDechetsProduitsFinis
                                     where asort.ResStockProduitsFini.NomProduit == produitFini
                                     where asort.DateSortie >= debut
                                     where asort.DateSortie <= fin
                                     select(int?) asort.QuantiteProduitFini).Sum() ?? 0;

                return(stockInitial + entrees - autresSorties - stockFinal);
            }
        }