private void SupprimerTransaction()
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                if (MessageBox.Show("Voulez-vous réellement supprimer cette transaction?", "Message de confirmation", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    try
                    {
                        var transaction = db.EveAcquisitionServicesFournitures.Where(afs => afs.CodeAcquisitionServiceFourniture == _codeTransaction).FirstOrDefault();

                        var decaissements = transaction.EveDecaissements.ToList();

                        // S'Il y'avait un décaissement au moment de l'enregistrement de la transaction
                        if (decaissements != null)
                        {
                            foreach (var decaissement in decaissements)
                            {
                                db.EveDecaissements.Remove(decaissement);
                            }
                        }

                        db.EveAcquisitionServicesFournitures.Remove(transaction);
                        db.SaveChanges();
                        MessageBox.Show("La transaction a été supprimée.");
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Erreur: La transaction n'a pas été supprimée.");
                    }
                }
            }
        }
        private void LoadDetailsTransaction(int codeTransaction)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                var transaction = db.EveAcquisitionServicesFournitures.Where(afs => afs.CodeAcquisitionServiceFourniture == codeTransaction).FirstOrDefault();

                cbxNomFournServFourn.DataSource     = db.AgeFournisseursServicesFournitures.OrderBy(f => f.NomFournisseurServiceFourniture).ToList();
                cbxNomServFourniture.DataSource     = db.ResServicesFournitures.OrderBy(sf => sf.NomServiceFourniture).ToList();
                cbxComptePaiement.DataSource        = db.ResComptesTresoreries.OrderBy(c => c.NomCompte).ToList();
                dtpDateAchatServFourn.Value         = transaction.Date;
                ageEmployeBindingSource.DataSource  = Conversion.ListeEmployesPresents(dtpDateAchatServFourn);
                ageEmployeBindingSource1.DataSource = Conversion.ListeEmployesPresents(dtpDateAchatServFourn);


                txtMontantServFourn.Text = transaction.Montant.ToString("n0");
                var decaissement = transaction.EveDecaissements.FirstOrDefault();

                if (decaissement != null)
                {
                    txtMontantPayeServFourn.Text    = decaissement.Montant.ToString("n0");
                    cbxComptePaiement.SelectedValue = decaissement.CodeCompte;
                    cbxTresorieres.SelectedValue    = decaissement.CodeEmploye;
                }
                else
                {
                    cbxComptePaiement.SelectedValue = -1;
                }
                cbxNomFournServFourn.SelectedValue   = transaction.CodeFournisseurServiceFourniture;
                cbxNomServFourniture.SelectedValue   = transaction.CodeServiceFourniture;
                cbxRespServFournitures.SelectedValue = transaction.CodeEmploye;
                txtDescription.Text = transaction.Description;
            }
        }
        private void MettreIntrantProduitSemiFiniAJour(int codeProduction)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                try
                {
                    var production             = db.EveProductions.Where(p => p.CodeProduction == codeProduction).FirstOrDefault();
                    var produitSemiFiniUtilise = production.EveUtilisationRessource
                                                 .EveUtilisationProduitsSemiFinis
                                                 .FirstOrDefault();

                    var produitSemiFini = produitSemiFiniUtilise.ResStockProduitsSemiFini.Description;

                    if (produitSemiFini != cbxFruitUtilise.Text)
                    {
                        produitSemiFiniUtilise.CodeProduitSemiFini = int.Parse(cbxFruitUtilise.SelectedValue.ToString());
                        db.SaveChanges();
                    }

                    if (produitSemiFiniUtilise.QuantiteProduitSemiFini != float.Parse(txtQuantiteFruit.Text))
                    {
                        float.TryParse(txtNombreProduitsFinis.Text, out float quantite);
                        produitSemiFiniUtilise.QuantiteProduitSemiFini = quantite;
                        db.SaveChanges();
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("Erreur de correction. Verifier la quantité de produit semi fini.");
                }
            }
        }
Beispiel #4
0
        public static decimal MettreCreanceAJour(ComboBox cbxNomClient)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                var codeClient = Convert.ToInt32(cbxNomClient.SelectedValue);

                var ventesClients = (from c in db.AgeClients
                                     from vf in db.EveVenteStockProduitsFinis
                                     from v in db.EveVentes
                                     where v.CodeClient == c.CodeClient
                                     where vf.CodeVente == v.CodeVente
                                     where c.CodeClient == codeClient
                                     select(decimal?) vf.Montant).Sum() ?? 0m;

                var totalPaiementClient = (from c in db.AgeClients
                                           from ev in db.EveEncaissementsVentes
                                           where c.CodeClient == codeClient
                                           where c.CodeClient == ev.CodeClient
                                           select(decimal?) ev.MontantEncaisse).Sum() ?? 0m;

                var totalPaiementCreances = (from c in db.AgeClients
                                             from pc in db.EveEncaissementsCreances
                                             where c.CodeClient == codeClient
                                             where pc.CodeClient == c.CodeClient
                                             select(decimal?) pc.MontantEncaisse).Sum() ?? 0m;

                var creanceInitialClient = (from c in db.AgeClients where c.CodeClient == codeClient select c.SoldeInitialeCreance).FirstOrDefault();

                var creancesClients = ventesClients + creanceInitialClient - totalPaiementClient - totalPaiementCreances;

                return(creancesClients);
            }
        }
        private void MettreQuantiteSucreAJour(EveProduction production)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                try
                {
                    float.TryParse(txtQuantiteSucre.Text, out float quantiteSucre);

                    EveUtilisationMatieresPremiere utilisationSucre = (from p in db.EveProductions
                                                                       where p.CodeProduction == production.CodeProduction
                                                                       join ur in db.EveUtilisationRessources on p.CodeUtilisationRessources equals ur.CodeUtilisationRessources
                                                                       join ump in db.EveUtilisationMatieresPremieres on ur.CodeUtilisationRessources equals ump.CodeUtilisationRessource
                                                                       where ump.ResStockMatieresPremiere.NomMatiere == "Sucre en poudre"
                                                                       select ump).FirstOrDefault();

                    utilisationSucre.QuantiteMatierePremiere = quantiteSucre;
                    db.SaveChanges();
                }
                catch (Exception)
                {
                    MessageBox.Show("La quantité de sucre n'a pas été mise à jour.");
                    return;
                }
            }
        }
        private void MettreIntrantFruitAJour(int codeProduction)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                try
                {
                    var production   = db.EveProductions.Where(p => p.CodeProduction == codeProduction).FirstOrDefault();
                    var fruitUtilise = production.EveUtilisationRessource
                                       .EveUtilisationMatieresPremieres
                                       .Where(mp => mp.ResStockMatieresPremiere.TypesMatiere.NomType == "Fruit")
                                       .FirstOrDefault();

                    var fruit = fruitUtilise.ResStockMatieresPremiere.NomMatiere;

                    if (fruit != cbxFruitUtilise.Text)
                    {
                        fruitUtilise.CodeMatierePremiere = int.Parse(cbxFruitUtilise.SelectedValue.ToString());
                        db.SaveChanges();
                    }

                    if (fruitUtilise.QuantiteMatierePremiere != float.Parse(txtQuantiteFruit.Text))
                    {
                        float.TryParse(txtQuantiteFruit.Text, out float quantite);
                        fruitUtilise.QuantiteMatierePremiere = quantite;
                        db.SaveChanges();
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("Erreur de correction. Verifier la quantité de matière première.");
                }
            }
        }
        private void AfficherDetailsIntrantFruit(int codeProduction)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                var production = db.EveProductions.Where(prod => prod.CodeProduction == codeProduction).First();

                cbxFruitUtilise.DataSource = db.ResStockMatieresPremieres
                                             .Where(mp => mp.TypesMatiere.NomType == "Fruit")
                                             .OrderBy(pf => pf.NomMatiere)
                                             .ToList();

                cbxFruitUtilise.DisplayMember = "NomMatiere";
                cbxFruitUtilise.ValueMember   = "CodeMatierePremiere";

                cbxFruitUtilise.SelectedValue = production.EveUtilisationRessource.EveUtilisationMatieresPremieres
                                                .Where(mp => mp.ResStockMatieresPremiere.TypesMatiere.NomType == "Fruit")
                                                .Select(mp => mp.ResStockMatieresPremiere.CodeMatierePremiere)
                                                .FirstOrDefault();

                txtQuantiteFruit.Text = production.EveUtilisationRessource.EveUtilisationMatieresPremieres
                                        .Where(mp => mp.ResStockMatieresPremiere.TypesMatiere.NomType == "Fruit")
                                        .Select(mp => mp.QuantiteMatierePremiere)
                                        .FirstOrDefault().ToString();
            }
        }
        private void AjouterSucre(EveProduction production)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                try
                {
                    float.TryParse(txtQuantiteSucre.Text, out float quantiteSucre);

                    ResStockMatieresPremiere matP = db.ResStockMatieresPremieres.FirstOrDefault(
                        mp => mp.TypesMatiere.NomType == "Sucre");

                    int codeURes = production.EveUtilisationRessource.CodeUtilisationRessources;

                    EveUtilisationMatieresPremiere uMatP = new EveUtilisationMatieresPremiere
                    {
                        CodeUtilisationRessource = codeURes,
                        CodeMatierePremiere      = matP.CodeMatierePremiere,
                        QuantiteMatierePremiere  = quantiteSucre
                    };

                    db.EveUtilisationMatieresPremieres.Add(uMatP);
                    db.SaveChanges();
                }
                catch (Exception)
                {
                    MessageBox.Show("Veuillez mettre un nombre valide dans le champ 'Quantité de sucre");
                    return;
                }
            }
        }
Beispiel #9
0
        public static void MettreAJourVenteDUnProduit(int codeVente, string nomProduit, string quantiteString, string montantString)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                try
                {
                    int.TryParse(quantiteString, out int quantite);
                    int.TryParse(montantString, out int montant);
                    bool qteValide = quantite >= 1;
                    bool mtValide  = montant >= 1;


                    ResStockProduitsFini produit = db.ResStockProduitsFinis.FirstOrDefault(p => p.NomProduit == nomProduit);

                    var venteProduit = db.EveVenteStockProduitsFinis
                                       .Where(vp => vp.CodeVente == codeVente)
                                       .FirstOrDefault(vp => vp.CodeProduitFini == produit.CodeProduit);

                    venteProduit.QuantiteProduitFini = quantite;
                    venteProduit.Montant             = montant;

                    db.SaveChanges();
                }
                catch (System.Exception)
                {
                    throw;
                }
            }
        }
        private void BtnEnregistrerSortie_Click(object sender, EventArgs e)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                try
                {
                    int  codeProduitFini      = Convert.ToInt32(cbxProduitsFinis.SelectedValue.ToString());
                    int  codeResponsableStock = Convert.ToInt32(cbxResponsableStock.SelectedValue.ToString());
                    bool montantValide        = Validation.MontantEstValide(txtQuantite.Text);
                    bool descriptionRens      = !Validation.ChampsVide(txtDescription.Text);

                    EveSortieDonsOuDechetsProduitsFini ddpf = new EveSortieDonsOuDechetsProduitsFini()
                    {
                        DateSortie            = dtpDateSortieDechetsOuDons.Value.Date,
                        Description           = txtDescription.Text,
                        CodeProduitFini       = codeProduitFini,
                        QuantiteProduitFini   = int.Parse(txtQuantite.Text),
                        CodeResponsableSortie = codeResponsableStock,
                    };

                    db.EveSortieDonsOuDechetsProduitsFinis.Add(ddpf);
                    db.SaveChanges();
                    txtDescription.Clear();
                    txtQuantite.Clear();
                    MessageBox.Show("L'enregistrement a été effectué avec succès.");
                }
                catch (Exception)
                {
                    MessageBox.Show("Merci de vérifier vos données. L'enregistrement n'a pas été effectué.");
                }
            }
        }
Beispiel #11
0
        private void SupprimerTransaction()
        {
            try
            {
                using (CasaDBEntities db = new CasaDBEntities())
                {
                    var transaction = db.EveReceptionMatieresPremieres.Where(rmp => rmp.CodeReceptionMatierePremiere == _codeTransaction).FirstOrDefault();
                    //int codeFournisseur = transaction.AgeFournisseursMatieresPremiere.CodeFournisseurMatierePremiere;
                    var decaissements = transaction.EveDecaissements.ToList();

                    if (decaissements != null)
                    {
                        foreach (var decaissement in decaissements)
                        {
                            db.EveDecaissements.Remove(decaissement);
                        }
                    }

                    db.EveReceptionMatieresPremieres.Remove(transaction);
                    db.SaveChanges();
                    MessageBox.Show("La transaction a été supprimée.");
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Erreur: La transaction n'a pas été supprimée.");
            }
        }
Beispiel #12
0
        public static Single CalculerTotalCreancesClientsALaDateDu(DateTime date)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                var ventesClients = (from c in db.AgeClients
                                     from vf in db.EveVenteStockProduitsFinis
                                     from v in db.EveVentes
                                     where v.CodeClient == c.CodeClient
                                     where vf.CodeVente == v.CodeVente
                                     where v.DateVente <= date
                                     select(Single?) vf.Montant).Sum() ?? 0f;

                var totalPaiementClient = (from c in db.AgeClients
                                           from ev in db.EveEncaissementsVentes
                                           where c.CodeClient == ev.CodeClient
                                           where ev.DateEncaissement <= date
                                           select(Single?) ev.MontantEncaisse).Sum() ?? 0f;
                var encaissementCreances = (from c in db.AgeClients
                                            from ec in db.EveEncaissementsCreances
                                            where c.CodeClient == ec.CodeClient
                                            where ec.DateEncaissement <= date
                                            select(Single?) ec.MontantEncaisse).Sum() ?? 0f;

                var creanceInitialClient = (from c in db.AgeClients
                                            select(Single?) c.SoldeInitialeCreance).Sum() ?? 0f;

                return(creanceInitialClient + ventesClients - totalPaiementClient - encaissementCreances);
            }
        }
Beispiel #13
0
        public static decimal CalculerSoldeCreanceClient(int codeClient)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                var ventesClients = (from c in db.AgeClients
                                     join v in db.EveVentes on c.CodeClient equals v.CodeClient
                                     join vpf in db.EveVenteStockProduitsFinis on v.CodeVente equals vpf.CodeVente
                                     where c.CodeClient == codeClient
                                     select(decimal?) vpf.Montant).Sum() ?? 0m;

                var totalPaiementClient = (from c in db.AgeClients
                                           join ev in db.EveEncaissementsVentes on c.CodeClient equals ev.CodeClient
                                           where c.CodeClient == codeClient
                                           select(decimal?) ev.MontantEncaisse).Sum() ?? 0m;

                var encaissementCreances = (from c in db.AgeClients
                                            join ecc in db.EveEncaissementsCreances on c.CodeClient equals ecc.CodeClient
                                            where c.CodeClient == codeClient
                                            select(decimal?) ecc.MontantEncaisse).Sum() ?? 0m;

                var creanceInitialClient = (from c in db.AgeClients
                                            where c.CodeClient == codeClient
                                            select(decimal?) c.SoldeInitialeCreance).Sum() ?? 0m;

                return(creanceInitialClient + ventesClients - totalPaiementClient - encaissementCreances);
            }
        }
Beispiel #14
0
        public static decimal CalculerTotalCreancesClients()
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                var ventesClients = (from c in db.AgeClients
                                     from vf in db.EveVenteStockProduitsFinis
                                     from v in db.EveVentes
                                     where v.CodeClient == c.CodeClient
                                     where vf.CodeVente == v.CodeVente
                                     select(decimal?) vf.Montant).Sum() ?? 0m;

                var totalPaiementClient = (from c in db.AgeClients
                                           from ev in db.EveEncaissementsVentes
                                           where c.CodeClient == ev.CodeClient
                                           select(decimal?) ev.MontantEncaisse).Sum() ?? 0m;
                var encaissementCreances = (from c in db.AgeClients
                                            from ec in db.EveEncaissementsCreances
                                            where c.CodeClient == ec.CodeClient
                                            select(decimal?) ec.MontantEncaisse).Sum() ?? 0m;

                var creanceInitialClient = (from c in db.AgeClients
                                            select(decimal?) c.SoldeInitialeCreance).Sum() ?? 0m;

                return(creanceInitialClient + ventesClients - totalPaiementClient - encaissementCreances);
            }
        }
Beispiel #15
0
        private static Single AmortissementsCumules(DateTime date)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                date = date.AddDays(1);
                Single amortissementsCumulesImmoNonAmortis = (from inE in db.ResEquipementsInfrastructures
                                                              where (inE.DateAcquisition.Year + inE.DureeDeVie) > date.Year
                                                              where inE.DateAcquisition < date
                                                              select new
                {
                    Immobilisation = inE.Nom,
                    inE.Quantite,
                    ValeurDOrigine = inE.Montant,
                    inE.DateAcquisition,
                    nombreJours = DbFunctions.DiffDays(inE.DateAcquisition, date),
                    inE.DureeDeVie,
                    AmortissementAnnuel = inE.Montant / (inE.DureeDeVie),
                })
                                                             .Select(a => (Single?)(a.AmortissementAnnuel / 365) * a.nombreJours)
                                                             .Sum() ?? 0f;

                Single amortissementsCumulesImmoAmortis = (from inE in db.ResEquipementsInfrastructures
                                                           where (inE.DateAcquisition.Year + inE.DureeDeVie) <= date.Year
                                                           select(Single) inE.Montant).Sum();

                return((Single)amortissementsCumulesImmoNonAmortis + amortissementsCumulesImmoAmortis);
            }
        }
Beispiel #16
0
        private static string AchatMatieresPremieres(DateTimePicker debut, DateTimePicker fin)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                float achatMatieresPremieres = (from amp in db.EveReceptionMatieresPremieres
                                                join d in db.EveDecaissements on amp.CodeReceptionMatierePremiere equals d.CodeReceptionMatierePremiere
                                                join mp in db.ResStockMatieresPremieres on amp.CodeMatierePremiere equals mp.CodeMatierePremiere
                                                where (mp.TypesMatiere.NomType == "Fruit" || mp.TypesMatiere.NomType == "Sucre")
                                                where d.DateDecaissement >= debut.Value.Date
                                                where d.DateDecaissement <= fin.Value.Date
                                                select(float?) d.Montant).Sum() ?? 0;

                float remboursementDettesFournisseurs = (from d in db.EveDecaissements
                                                         where d.CodeFournisseurMatierePremiere != null
                                                         where d.CodeReceptionMatierePremiere == null
                                                         where d.DateDecaissement >= debut.Value.Date
                                                         where d.DateDecaissement <= fin.Value.Date
                                                         select(float?) d.Montant).Sum() ?? 0;

                // Le coût du gaz utilisé dans la production. Pour faciliter l'exploitation des données,
                // les dépenses de gaz avaient été ajoutées à la table ResServicesFournitures.
                float gaz = float.Parse(DepenseServiceFourniture(debut, fin, "Gaz"));

                return((achatMatieresPremieres + remboursementDettesFournisseurs + gaz).ToString("n0"));
            }
        }
Beispiel #17
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);
            }
        }
Beispiel #18
0
 public static Single BeneficesNonRepartis(DateTime date)
 {
     using (CasaDBEntities db = new CasaDBEntities())
     {
         return(BeneficeNet(date) - BeneficesRepartis(date));
     }
 }
Beispiel #19
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);
            }
        }
Beispiel #20
0
        public static Single CoutProduction(DateTime debutPeriode, DateTime finPeriode, string produitFini)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                var listeMatieres = (from pf in db.ResStockProduitsFinis
                                     join ppf in db.EveProductionStockProduitsFinis on pf.CodeProduit equals ppf.CodeProduitFini
                                     join p in db.EveProductions on ppf.CodeProduction equals p.CodeProduction
                                     join ur in db.EveUtilisationMatieresPremieres on p.CodeUtilisationRessources equals ur.CodeUtilisationRessource
                                     where pf.NomProduit == produitFini

                                     select new
                {
                    Matiere = ur.ResStockMatieresPremiere.NomMatiere
                }).Distinct().ToList();

                Single coutMatieresPremieres = 0;

                foreach (var mat in listeMatieres)
                {
                    Single coutMatiere = InventaireStocksMatieresPremiere.CoutDesMatieresConsommees(debutPeriode, finPeriode, mat.Matiere);
                    coutMatieresPremieres += coutMatiere;
                }

                return(coutMatieresPremieres);
            }
        }
Beispiel #21
0
        private void LoadDetailsTransaction(int codeTransaction)
        {
            try
            {
                using (CasaDBEntities db = new CasaDBEntities())
                {
                    var transaction = db.EvePaiementEmployes.Where(pe => pe.CodePaiementEmploye == codeTransaction).FirstOrDefault();

                    CbxNomEmploye.DataSource      = db.AgeEmployes.OrderBy(e => e.PrenomNom).ToList();
                    CbxCompteDePaiment.DataSource = db.ResComptesTresoreries.OrderBy(c => c.NomCompte).ToList();
                    var decaissement = transaction.EveDecaissements.FirstOrDefault();

                    dtpDatePaiement.Value    = decaissement.DateDecaissement;
                    CbxTresoriere.DataSource = Conversion.ListeEmployesPresents(dtpDatePaiement).ToList();

                    txtMontantPaye.Text              = decaissement.Montant.ToString("n0");
                    txtPosteOccupe.Text              = transaction.AgeEmploye.Poste;
                    txtPeriodePayee.Text             = $"Du {transaction.DeCetteDate.ToShortDateString()} au {transaction.ACetteDate.ToShortDateString()}";
                    CbxNomEmploye.SelectedValue      = transaction.CodeEmployePaye;
                    CbxTresoriere.SelectedValue      = decaissement.CodeEmploye;
                    CbxCompteDePaiment.SelectedValue = decaissement.CodeCompte;
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Erreur d'affichage.");
            }
        }
Beispiel #22
0
        private void BtnSupprimerTransaction_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Voulez-vous supprimer cette transaction?", "Message", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                using (CasaDBEntities db = new CasaDBEntities())
                {
                    try
                    {
                        var transaction  = db.EvePaiementEmployes.Where(pe => pe.CodePaiementEmploye == _codeTransaction).FirstOrDefault();
                        var decaissement = transaction.EveDecaissements.FirstOrDefault();
                        db.EveDecaissements.Remove(decaissement);
                        db.EvePaiementEmployes.Remove(transaction);
                        db.SaveChanges();

                        MessageBox.Show("Erreur: La transaction n'a pas été supprimée.");
                        ClearData();
                        LoadListeTransactions();
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Erreur: La transaction n'a pas été supprimée.");
                    }
                }
            }
        }
Beispiel #23
0
        private void MettreComptePaiementAJour()
        {
            try
            {
                using (CasaDBEntities db = new CasaDBEntities())
                {
                    var transaction = db.EvePaiementEmployes.Where(pe => pe.CodePaiementEmploye == _codeTransaction).FirstOrDefault();
                    int.TryParse(CbxCompteDePaiment.SelectedValue.ToString(), out int codeCompte);
                    var decaissement = transaction.EveDecaissements.FirstOrDefault();

                    // Le compte de trésorerie utilisé pour le paiment a changé
                    if (decaissement.CodeCompte != codeCompte)
                    {
                        decaissement.CodeCompte = codeCompte;
                    }

                    db.SaveChanges();
                    MessageBox.Show("Le compte de paiement a été mis à jour.");
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Erreur: Le compte de paiement n'a pas été mis à jour.");
            }
        }
Beispiel #24
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;
                }
            }
        }
Beispiel #25
0
 private decimal MontantPaye(int codeVente)
 {
     using (CasaDBEntities db = new CasaDBEntities())
     {
         return(db.EveEncaissementsVentes.Where(ev => ev.CodeVente == codeVente).Select(ev => ev.MontantEncaisse).First());
     }
 }
Beispiel #26
0
        private void SupprimerVente(int codeVente)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                // vente
                var vente = db.EveVentes.Where(v => v.CodeVente == codeVente).First();
                // vente produit
                var venteProduits = db.EveVenteStockProduitsFinis.Where(vp => vp.CodeVente == codeVente).ToList();

                // si encaissement:
                if (IlYaEuEncaissementDeVente(codeVente))
                {
                    var encaissementVente = db.EveEncaissementsVentes.Where(ev => ev.CodeVente == codeVente).First();

                    var encaissement = (from ev in db.EveEncaissementsVentes
                                        join e in db.EveEncaissements on ev.CodeEncaissement equals e.CodeEncaissement
                                        where ev.CodeVente == codeVente
                                        select e).FirstOrDefault();

                    db.EveEncaissementsVentes.Remove(encaissementVente);
                    db.EveEncaissements.Remove(encaissement);
                }

                foreach (var item in venteProduits)
                {
                    db.EveVenteStockProduitsFinis.Remove(item);
                }

                db.EveVentes.Remove(vente);
                db.SaveChanges();
            }
        }
Beispiel #27
0
 private void UC_UpdatePersonnel_Load(object sender, EventArgs e)
 {
     using (CasaDBEntities db = new CasaDBEntities())
     {
         cbxEmployeAChanger.DataSource = db.AgeEmployes.OrderBy(em => em.PrenomNom).ToList();
         LoadDetailsPersonnel();
     }
 }
Beispiel #28
0
 private void LoadListeProduits()
 {
     using (CasaDBEntities db = new CasaDBEntities())
     {
         cbxListeProduits.DataSource    = db.ResStockProduitsFinis.OrderBy(prd => prd.NomProduit).ToList();
         cbxListeProduits.DisplayMember = "NomProduit";
         AfficherDetailsProduitListeProduits();
     }
 }
Beispiel #29
0
 private bool ProduitDansLePanierInitial(int codeVente, string produit)
 {
     using (CasaDBEntities db = new CasaDBEntities())
     {
         int  codeProduit = db.ResStockProduitsFinis.Where(p => p.NomProduit == produit).Select(p => p.CodeProduit).First();
         bool result      = db.EveVenteStockProduitsFinis.Any(vpf => vpf.CodeVente == codeVente && vpf.CodeProduitFini == codeProduit);
         return(result);
     }
 }
Beispiel #30
0
 private void AfficherDetailsProduitListeProduits()
 {
     using (CasaDBEntities db = new CasaDBEntities())
     {
         string produit = cbxListeProduits.GetItemText(cbxListeProduits.SelectedItem);
         var    pu      = db.ResStockProduitsFinis.Where(pr => pr.NomProduit == produit).Select(pr => pr.PrixDeVenteStandard).FirstOrDefault();
         txtPU.Text = pu.ToString();
     }
 }