public static void AfficherBilan(DataGridView grid, DateTimePicker debut, DateTimePicker fin) { DateTime deb = debut.Value.Date; DateTime fn = fin.Value.Date; Single totalActifCirculant = float.Parse(Tresorerie.CalculerSoldeTresorerie(fn.AddDays(1))) + Tresorerie.CalculerTotalCreancesClientsALaDateDu(fn) + GestionStocks.ValeurTotalDesStocks(fn); Single totalDettesACourtTerme = (Single)Tresorerie.CalculerTotalDettesFournisseursALaDateDu(fn) + 0 /* autres dettes à court terme */; Single totalDettes = totalDettesACourtTerme + 0 /* emprunts et autres dettes à long terme */; Single immobilisationsBrutes = ImmobilisationsBrutes(fn); Single amortissementsCumules = AmortissementsCumules(fn); Single immobilisationsNettes = immobilisationsBrutes - amortissementsCumules; Single totalActif = totalActifCirculant + immobilisationsNettes; Decimal crediteursDivers = Tresorerie.CalculerTotalDettesFournisseursALaDateDu(fn); String valeurNette = FormatNumber(totalActif - totalDettes); Single totalCapitauxPropres = CapitauxPropres(fn) + BeneficesRepartis(fn) + BeneficesNonRepartis(fn); Single totalPassif = totalCapitauxPropres + totalDettes; grid.Rows.Add("Trésorerie disponible en fin de période", Tresorerie.CalculerSoldeTresorerie(fn.AddDays(1))); // 0 grid.Rows.Add("Débiteurs divers", Tresorerie.CalculerTotalCreancesClientsALaDateDu(fn).ToString("n0")); // 1 grid.Rows.Add("Stocks", GestionStocks.ValeurTotalDesStocks(fn).ToString("n0")); // 2 grid.Rows.Add("Total Actif Circulant", FormatNumber(totalActifCirculant)); // 3 grid.Rows.Add("Immobilisations brutes", FormatNumber(immobilisationsBrutes)); // 4 grid.Rows.Add("Amortissements cumulés", FormatNumber(amortissementsCumules)); // 5 grid.Rows.Add("Immobilisations nettes", FormatNumber(immobilisationsNettes)); // 6 grid.Rows.Add("TOTAL ACTIF", FormatNumber(totalActif)); // 7 grid.Rows.Add("Créditeurs divers", FormatNumber(crediteursDivers)); // 8 grid.Rows.Add("Autres dettes à Court Terme", 0); // 9 grid.Rows.Add("Total dettes à Court Terme", FormatNumber(totalDettesACourtTerme)); // 10 grid.Rows.Add("Emprunts et autres dettes à Long Terme", 0); // 11 grid.Rows.Add("Total Dettes", FormatNumber(totalDettes)); // 12 grid.Rows.Add("Capitaux propres (Capitaux et Subventions)", FormatNumber(CapitauxPropres(fn))); // 13 grid.Rows.Add("Bénéfices Non Répartis", FormatNumber(BeneficesNonRepartis(fn))); // 14 grid.Rows.Add("Bénéfices Répartis", FormatNumber(BeneficesRepartis(fn))); // 15 grid.Rows.Add("Total Capitaux Propres", FormatNumber(totalCapitauxPropres)); // 16 grid.Rows.Add("TOTAL PASSIF ET CAPITAL", FormatNumber(totalPassif)); // 17 grid.Rows.Add("Valeur nette", valeurNette); // 18 // Formattage.FormatterLigneEnGras(grid, 3); // Formattage.FormatterLigneEnGras(grid, 7); // Formattage.FormatterLigneEnGras(grid, 10); // Formattage.FormatterLigneEnGras(grid, 12); // Formattage.FormatterLigneEnGras(grid, 16); // Formattage.FormatterLigneEnGras(grid, 17); // Formattage.FormatterLigneEnGras(grid, 18); }
public static Single CapitauxPropres(DateTime date) { using (CasaDBEntities db = new CasaDBEntities()) { DateTime debut = new DateTime(2019, 1, 1); Single investissements = (from inE in db.ResEquipementsInfrastructures where (inE.DateAcquisition.Year + inE.DureeDeVie) >= date.Year where inE.DateAcquisition <= date select(Single?) inE.Montant).Sum() ?? 0f; // Single valeurResiduelle = investissements - AmortissementsCumules(date); Single subventionsEtAutresFonds = (from af in db.EveEncaissementsAutres where af.DateEncaissement <= date select(Single?) af.MontantEncaisse).Sum() ?? 0; Single dettesFournisseurs = (Single)Tresorerie.CalculerTotalDettesFournisseursALaDateDu(date); Single tresorerie = float.Parse(Tresorerie.CalculerSoldeTresorerie(date.AddDays(1))); Single stocks = GestionStocks.ValeurTotalDesStocks(date); Single creances = Tresorerie.CalculerTotalCreancesClientsALaDateDu(date); Single impotsEtTaxes = float.Parse(CompteDeResultat.ImpotsEtTaxesDeLaPeriode(debut, date)); return(investissements // subventionsEtAutresFonds + tresorerie + creances + stocks - dettesFournisseurs - ResultatAvantImpotsEtTaxes(date) + impotsEtTaxes); } }
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; } } }
public static Single CoutUnitaireProduitSemiFini(string produitSemiFini) { using (CasaDBEntities db = new CasaDBEntities()) { var listeMatieres = (from psf in db.ResStockProduitsSemiFinis join ppf in db.EveProductionProduitsSemiFinis on psf.CodeProduitSemiFini equals ppf.CodeProduitSemiFini join p in db.EveProductions on ppf.CodeProduction equals p.CodeProduction join ur in db.EveUtilisationMatieresPremieres on p.CodeUtilisationRessources equals ur.CodeUtilisationRessource where psf.Description == produitSemiFini select new { Matiere = ur.ResStockMatieresPremiere.NomMatiere }).Distinct().ToList(); Single coutMatieresPremieresParProduitSemiFini = 0; foreach (var mat in listeMatieres) { Single coutMatiere = (float)GestionStocks.QuantiteMatierePremiereParProduitSemiFini(produitSemiFini, mat.Matiere) * CoutDAchatDesMatierePremieres.CoutDAchat(mat.Matiere); coutMatieresPremieresParProduitSemiFini += coutMatiere; } if (coutMatieresPremieresParProduitSemiFini == 0) { coutMatieresPremieresParProduitSemiFini = (from psf in db.ResStockProduitsSemiFinis where psf.Description == produitSemiFini select psf.CoutUnitaire).FirstOrDefault(); } return(coutMatieresPremieresParProduitSemiFini); } }
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 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é."); } } }
// Tableau des du stock des matières premières et emballages private void AfficherTableauStockMatieresPremieres(DateTime date) { var matieresPremieres = (from mp in db.ResStockMatieresPremieres orderby mp.NomMatiere select mp.NomMatiere).ToList(); DataTable dt = CreerTableau(); foreach (var matiere in matieresPremieres) { var stock = GestionStocks.CalculerSoldeStockMatierePremiere(matiere, date); var coutU = CoutDAchatDesMatierePremieres.CoutDAchat(matiere); DataRow dr = dt.NewRow(); dt.Rows.InsertAt(dr, dt.Rows.Count); dr["Description"] = matiere; dr["Stock"] = stock; dr["Coût unitaire"] = coutU; dr["Valeur"] = stock * coutU; } dgvTableauAffichageStocks.DataSource = dt; dt.Rows.Add("Total", 0, 0, Conversion.CalculerTotal(dgvTableauAffichageStocks, "Valeur")); FormatterTableau(dgvTableauAffichageStocks); }
private void AfficherJournalCorrespondant(string description) { //var coutUnitaire = 0f; var entrees = (from psf in db.ResStockProduitsSemiFinis where psf.Description == description join ppsf in db.EveProductionProduitsSemiFinis on psf.CodeProduitSemiFini equals ppsf.CodeProduitSemiFini join prod in db.EveProductions on ppsf.CodeProduction equals prod.CodeProduction select new { prod.Date, Description = "Production de " + psf.Description, Entree = ppsf.QuantiteProduitSemiFini, Sortie = 0f, Solde = 0f }); var sorties = (from mp in db.ResStockMatieresPremieres join psf in db.ResStockProduitsSemiFinis on mp.CodeMatierePremiere equals psf.CodeMatierePremiere join upsf in db.EveUtilisationProduitsSemiFinis on psf.CodeProduitSemiFini equals upsf.CodeProduitSemiFini join prod in db.EveProductions on upsf.CodeUtilisationRessource equals prod.CodeUtilisationRessources where psf.Description == description select new { prod.Date, Description = "Utilisation de " + psf.Description, Entree = 0f, Sortie = upsf.QuantiteProduitSemiFini, Solde = 0f }); var resultat = entrees.Concat(sorties) .OrderByDescending(d => d.Date) .ToList(); var stockInitial = (from mp in db.ResStockMatieresPremieres join psf in db.ResStockProduitsSemiFinis on mp.CodeMatierePremiere equals psf.CodeMatierePremiere where psf.Description == description select psf.Quantite).FirstOrDefault(); 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"; dgvJournalStocksProduitsSemiFinis.DataSource = dt; Formattage.TableauDesStock(dgvJournalStocksProduitsSemiFinis); GestionStocks.CalculerSoldeStocksDeFaconProgressive(dgvJournalStocksProduitsSemiFinis, stockInitial); Formattage.ChangerTitreTableauDesStocks(dgvJournalStocksProduitsSemiFinis, "kg"); }
private void AfficherLaValeurTotalDesStocks() { DateTime date = dtpDate.Value.Date; txtStockMatieresPremieres.Text = InventaireStocksMatieresPremiere.ValeurStockMatieresPremieres(date).ToString("n0") + " FCFA"; txtStockProduitsSemiFinis.Text = InventaireStockProduitsSemiFinis.ValeurStockProduitsSemiFinis(date).ToString("n0") + " FCFA"; txtStocksProduitsFinis.Text = InventaireStocksProduitsFinis.ValeurStockProduitsFinis(date).ToString("n0") + " FCFA"; txtValeurTotaleStocks.Text = GestionStocks.ValeurTotalDesStocks(date).ToString("n0") + " FCFA"; }
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 Single ValeurStockMatieresPremieres(DateTime date) { using (CasaDBEntities db = new CasaDBEntities()) { Single valeurStockMatieresPremieres = 0; var listeMatieresPremieres = (from mp in db.ResStockMatieresPremieres select mp.NomMatiere).ToList(); foreach (var matPrem in listeMatieresPremieres) { valeurStockMatieresPremieres += GestionStocks.CalculerSoldeStockMatierePremiere(matPrem, date) * CoutDAchatDesMatierePremieres.CoutDAchat(matPrem); } return(valeurStockMatieresPremieres); } }
public static Single QuantiteDeProduitsSemiFinisUtilisee(string produitSF, DateTime debut, DateTime fin) { using (CasaDBEntities db = new CasaDBEntities()) { Single stockInitial = GestionStocks.CalculerSoldeStockProduitSemiFini(produitSF, debut); Single stockFinal = GestionStocks.CalculerSoldeStockProduitSemiFini(produitSF, fin); Single entrees = (from pro in db.EveProductionProduitsSemiFinis where pro.ResStockProduitsSemiFini.Description == produitSF where pro.EveProduction.Date >= debut where pro.EveProduction.Date < fin select pro.QuantiteProduitSemiFini).Sum(); return(stockInitial + entrees - stockFinal); } }
public static Single QuantiteDeMatieresConsommees(DateTime debutPeriode, DateTime finPeriode, string matiere) { using (CasaDBEntities db = new CasaDBEntities()) { Single stockInitial = GestionStocks.CalculerSoldeStockMatierePremiere(matiere, debutPeriode); Single stockFinal = GestionStocks.CalculerSoldeStockMatierePremiere(matiere, finPeriode); Single achatsMatierePremiere = (from rmp in db.EveReceptionMatieresPremieres where rmp.ResStockMatieresPremiere.NomMatiere == matiere where rmp.DateReception >= debutPeriode where rmp.DateReception <= finPeriode select(float?) rmp.Quantite).Sum() ?? 0; Single receptionDonsMatierePremiere = (from rdmp in db.EveReceptionDonsMatieresPremieres where rdmp.ResStockMatieresPremiere.NomMatiere == matiere where rdmp.DateReception >= debutPeriode where rdmp.DateReception <= finPeriode select(float?) rdmp.Quantite).Sum() ?? 0; Single entrees = achatsMatierePremiere + receptionDonsMatierePremiere; return(stockInitial + entrees - stockFinal); } }
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); } }