Пример #1
0
        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);
        }
Пример #2
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");
        }
Пример #3
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é");
        }