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; } } }
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é."); } } }
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); } }