Exemple #1
0
        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);
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
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;
                }
            }
        }
Exemple #4
0
        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);
            }
        }
Exemple #5
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);
        }
Exemple #6
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é.");
                }
            }
        }
Exemple #7
0
        // 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");
        }
Exemple #9
0
        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);
            }
        }