public static void AfficherCompteDeResultats(DataGridView grid, DateTimePicker debut, DateTimePicker fin) { DateTime deb = debut.Value.Date; DateTime fn = fin.Value.Date; grid.Rows.Add("Chiffre d'affaires", CalculerVentesPeriode(deb, fn)); grid.Rows.Add("Cout des produits vendus", InventaireStocksProduitsFinis.CoutDesProduitsVendus(deb, fn).ToString("n0")); grid.Rows.Add("Marge brute", CalculerMargeBrute(grid)); grid.Rows.Add("Autres revenus", 0); grid.Rows.Add("Frais afférents aux autres revenus", 0); grid.Rows.Add("Frais généraux et autres charges", FraisGenerauxDeLaPeriode(deb, fn)); grid.Rows.Add("Résultats avant impôts et amortissements", ResultatAvantImpotsEtAmortissements(grid)); grid.Rows.Add("Amortissements de la période", AmortissementsDeLaPeriode(deb, fn)); grid.Rows.Add("Impôts et taxes", ImpotsEtTaxesDeLaPeriode(deb, fn)); grid.Rows.Add("Résultat net", ResultatNet(grid)); // Ligne de la marge brute Formattage.FormatterLigneEnGras(grid, 2); // Ligne du résultat avant impôts Formattage.FormatterLigneEnGras(grid, 6); // Ligne du résultat net Formattage.FormatterLigneEnGras(grid, 9); }
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"); }
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é"); }