private void BtnEnregistrerAchatMatierePremiere_Click(object sender, EventArgs e)
 {
     if (float.Parse(txtQuantite.Text) > 0 && int.Parse(txtMontant.Text) > 0)
     {
         if (Tresorerie.IlYaAssezDeFondsDansLeCompte(cbxComptePaiement, txtMontant))
         {
             try
             {
                 var recep = AjouterNouvelleAchatMatierePremiere();
                 AjouterDecaissementTransportMatierePremiere(recep);
                 AjouterPaiementFournisseur(recep);
                 MessageBox.Show("Un nouvel achat de matière première a été enregistré avec succès");
                 Tresorerie.AfficherSoldeTresorerie(cbxComptePaiement, txtSoldeCompte);
                 txtQuantite.Text    = "0";
                 txtMontant.Text     = "0";
                 txtMontantPaye.Text = "0";
                 txtTransportMatierePremiere.Text = "0";
             }
             catch (Exception ex)
             {
                 MessageBox.Show(ex.Message);
             }
         }
     }
     else
     {
         MessageBox.Show("Veuillez renseigner correctement les champs montant et quantité");
     }
 }
Esempio n. 2
0
        private void PayerPersonnel(string employe, int codeEmploye, string debut, string fin, string date, ComboBox cptePaiement,
                                    string tresoriere, TextBox montant)
        {
            string cptePaie   = cptePaiement.GetItemText(cptePaiement.SelectedItem);
            int    codeCompte = Convert.ToInt32(cptePaiement.SelectedValue.ToString());

            if (Validation.VerifierChampsMontant(montant.Text))
            {
                if (RemunerationPasEncorePayePourLaPeriod(codeEmploye))
                {
                    if (Tresorerie.IlYaAssezDeFondsDansLeCompte(cptePaiement, montant))
                    {
                        EvePaiementEmploye paiement = new EvePaiementEmploye
                        {
                            CodeEmployePaye = codeEmploye,
                            DeCetteDate     = DateTime.Parse(debut),
                            ACetteDate      = DateTime.Parse(fin)
                        };

                        db.EvePaiementEmployes.Add(paiement);
                        db.SaveChanges();

                        EveDecaissement decaiss = new EveDecaissement
                        {
                            DateDecaissement    = DateTime.Parse(date),
                            CodePaiementEmploye = paiement.CodePaiementEmploye,
                            CodeCompte          = codeCompte,
                            Description         = "Paiment rémunération de " + employe + " pour la période du " + debut + " au " + fin,
                            CodeEmploye         = int.Parse(tresoriere),
                            Montant             = int.Parse(montant.Text)
                        };

                        db.EveDecaissements.Add(decaiss);
                        db.SaveChanges();

                        MessageBox.Show($"Le paiement de {employe} a été enregistré pour la période du {debut} au {fin}.");
                    }
                }
                else
                {
                    MessageBox.Show($"{employe} a déjà été payé pour la période selectionnée.");
                    return;
                }
            }
            else
            {
                MessageBox.Show("Le montant entré n'est pas valide.");
                return;
            }
        }
        private void AjouterDecaissementTransportMatierePremiere(EveReceptionMatieresPremiere recep)
        {
            ResStockMatieresPremiere matPrem = db.ResStockMatieresPremieres.FirstOrDefault(mp => mp.NomMatiere == cbxNomMatierePremiere.Text);
            AgeEmploye           tresoriere  = db.AgeEmployes.FirstOrDefault(em => em.PrenomNom == cbxTresoriere.Text);
            ResComptesTresorerie tres        = db.ResComptesTresoreries.FirstOrDefault(tr => tr.NomCompte == cbxComptePaiement.Text);

            if (int.Parse(txtTransportMatierePremiere.Text) > 0 && Tresorerie.IlYaAssezDeFondsDansLeCompte(cbxComptePaiement, txtTransportMatierePremiere))
            {
                EveDecaissement decaiss = new EveDecaissement
                {
                    CodeReceptionMatierePremiere = recep.CodeReceptionMatierePremiere,
                    Description      = "Transport de " + matPrem.NomMatiere,
                    DateDecaissement = recep.DateReception,
                    CodeEmploye      = tresoriere.CodeEmploye,
                    CodeCompte       = tres.CodeCompte,
                    Montant          = int.Parse(txtTransportMatierePremiere.Text),
                };

                db.EveDecaissements.Add(decaiss);
                db.SaveChanges();
            }
        }
        private void BtnEnregistrerTransfert_Click(object sender, EventArgs e)
        {
            var codeCpteDebiteur  = int.Parse(cbxCompteDebit.SelectedValue.ToString());
            var codeCpteCrediteur = int.Parse(cbxCompteCredit.SelectedValue.ToString());

            var employe     = cbxEmploye.GetItemText(cbxEmploye.SelectedItem);
            var codeEmploye = (from em in db.AgeEmployes
                               where em.PrenomNom == employe
                               select em.CodeEmploye).FirstOrDefault();

            if (Validation.MontantEstValide(txtMontant.Text))
            {
                if (ComptesDifferents(codeCpteDebiteur, codeCpteCrediteur))
                {
                    if (Tresorerie.IlYaAssezDeFondsDansLeCompte(cbxCompteDebit, txtMontant))
                    {
                        if (txtDescription.Text.Trim().Length > 0)
                        {
                            EveDecaissement decaissement = new EveDecaissement
                            {
                                DateDecaissement    = dtpDateOperation.Value.Date,
                                Description         = txtDescription.Text,
                                Montant             = int.Parse(txtMontant.Text),
                                DecaissementInterne = true,
                                CodeEmploye         = codeEmploye,
                                CodeCompte          = codeCpteDebiteur
                            };

                            db.EveDecaissements.Add(decaissement);
                            db.SaveChanges();

                            EveEncaissement encaissement = new EveEncaissement
                            {
                                CodeCompte  = codeCpteCrediteur,
                                CodeEmploye = codeEmploye,
                            };

                            db.EveEncaissements.Add(encaissement);
                            db.SaveChanges();

                            EveEncaissementsAutre autreEnc = new EveEncaissementsAutre
                            {
                                CodeEncaissement = encaissement.CodeEncaissement,
                                DateEncaissement = dtpDateOperation.Value.Date,
                                Description      = txtDescription.Text,
                                MontantEncaisse  = int.Parse(txtMontant.Text)
                            };

                            db.EveEncaissementsAutres.Add(autreEnc);
                            db.SaveChanges();

                            var cpteDebiteur  = cbxCompteDebit.GetItemText(cbxCompteDebit.SelectedText);
                            var cpteCrediteur = cbxCompteCredit.GetItemText(cbxCompteCredit.SelectedText);

                            MessageBox.Show($"Le transfert de fonds du compte {cpteDebiteur} au compte {cpteCrediteur} a été enregistré avec succès.");
                            txtDescription.Clear();
                            txtMontant.Clear();

                            Tresorerie.AfficherSoldeTresorerie(cbxCompteDebit, txtSoldeCompte);
                        }
                        else
                        {
                            MessageBox.Show("Veuillez ajouter une description à ce mouvement de compte à compte.");
                            return;
                        }
                    }
                }
            }
        }
        private void BtnAchatServiceFourniture_Click(object sender, EventArgs e)
        {
            try
            {
                bool respAchatPresent = db.AgeEmployes.Any(em => em.PrenomNom == cbxRespServFourn.Text);
                bool fournPresent     = db.AgeFournisseursServicesFournitures
                                        .Any(fs => fs.NomFournisseurServiceFourniture == cbxNomFournServFourn.Text);
                bool descriptionAjoutee = !string.IsNullOrEmpty(txtDescription.Text);

                AgeEmploye tresoriere;

                if (int.Parse(txtMontantPayeServFourn.Text) > 0)
                {
                    bool montantValide      = Validation.VerifierChampsMontant(txtMontantPayeServFourn.Text);
                    bool tresorierePresente = db.AgeEmployes.Any(em => em.PrenomNom == cbxTresoriere.Text);
                }

                AgeEmploye emp = db.AgeEmployes.First(em => em.PrenomNom == cbxRespServFourn.Text);

                AgeFournisseursServicesFourniture fsf = db.AgeFournisseursServicesFournitures.First
                                                        (
                    fs => fs.NomFournisseurServiceFourniture == cbxNomFournServFourn.Text
                                                        );
                ResComptesTresorerie  cpte = db.ResComptesTresoreries.FirstOrDefault(c => c.NomCompte == cbxComptePaiement.Text);
                ResServicesFourniture sf   = db.ResServicesFournitures.FirstOrDefault(s => s.NomServiceFourniture == cbxNomServFourniture.Text);

                if (Validation.VerifierChampsMontant(txtMontantServFourn.Text))
                {
                    EveAcquisitionServicesFourniture asf = new EveAcquisitionServicesFourniture
                    {
                        Date                             = DateTime.Parse(dtpDateAchatServFourn.Text),
                        Description                      = txtDescription.Text,
                        Montant                          = int.Parse(txtMontantServFourn.Text),
                        CodeServiceFourniture            = sf.CodeServiceFourniture,
                        CodeFournisseurServiceFourniture = fsf.CodeFournisseurServiceFourniture,
                        CodeEmploye                      = emp.CodeEmploye,
                    };

                    db.EveAcquisitionServicesFournitures.Add(asf);
                    db.SaveChanges();

                    if (int.Parse(txtMontantPayeServFourn.Text) > 0 && Validation.VerifierChampsMontant(txtMontantPayeServFourn.Text))
                    {
                        if (Tresorerie.IlYaAssezDeFondsDansLeCompte(cbxComptePaiement, txtMontantPayeServFourn))
                        {
                            tresoriere = db.AgeEmployes.First(em => em.PrenomNom == cbxTresoriere.Text);

                            EveDecaissement decaiss = new EveDecaissement
                            {
                                CodeAcquisitionServiceFourniture = asf.CodeAcquisitionServiceFourniture,
                                Description            = sf.NomServiceFourniture,
                                DateDecaissement       = asf.Date,
                                CodeEmploye            = tresoriere.CodeEmploye,
                                CodeCompte             = cpte.CodeCompte,
                                Montant                = int.Parse(txtMontantPayeServFourn.Text),
                                CodeFournisseurService = fsf.CodeFournisseurServiceFourniture,
                            };
                            db.EveDecaissements.Add(decaiss);
                            db.SaveChanges();
                        }
                    }

                    MessageBox.Show("Le nouvel achat de service ou de fourniture a été enregistré avec succès!");
                    txtMontantServFourn.Text     = "";
                    txtMontantPayeServFourn.Text = "";
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Erreur: La transaction n'a pas été enregistré.");
            }
        }
Esempio n. 6
0
        private void BtnEnregistrerDecaissement_Click(object sender, EventArgs e)
        {
            if (Tresorerie.IlYaAssezDeFondsDansLeCompte(cbxCompte, txtMontantPaye))
            {
                ResComptesTresorerie cpte = db.ResComptesTresoreries.FirstOrDefault(c => c.NomCompte == cbxCompte.Text);

                AgeEmploye em = db.AgeEmployes.FirstOrDefault(emp => emp.PrenomNom == cbxTresoriere.Text);

                if (cbxTypeFournisseur.Text == "Fournisseur de matière première")
                {
                    AgeFournisseursMatieresPremiere typeFournisseur = db.AgeFournisseursMatieresPremieres.FirstOrDefault(f => f.Nom == cbxNomFournisseur.Text);
                    var             codeFourniseur = typeFournisseur.CodeFournisseurMatierePremiere;
                    EveDecaissement decaiss        = new EveDecaissement
                    {
                        DateDecaissement = DateTime.Parse(dtpDateDecaissement.Text),
                        CodeFournisseurMatierePremiere = codeFourniseur,
                        CodeEmploye = em.CodeEmploye,
                        Description = "Paiement dette fournisseur matière première",
                        Montant     = int.Parse(txtMontantPaye.Text),
                        CodeCompte  = cpte.CodeCompte,
                    };

                    db.EveDecaissements.Add(decaiss);
                    db.SaveChanges();
                    txtMontantPaye.Clear();
                }
                else if (cbxTypeFournisseur.Text == "Fournisseur d'équipement ou entrepreneur")
                {
                    AgeAutreFournisseur typeFournisseur = db.AgeAutreFournisseurs.FirstOrDefault(f => f.NomAutreFournisseur == cbxNomFournisseur.Text);
                    var             codeFourniseur      = typeFournisseur.CodeAutreFournisseur;
                    EveDecaissement decaiss             = new EveDecaissement
                    {
                        DateDecaissement     = DateTime.Parse(dtpDateDecaissement.Text),
                        CodeAutreFournisseur = codeFourniseur,
                        CodeEmploye          = em.CodeEmploye,
                        Description          = "Paiement dette fournisseur équipements et infrastructures",
                        Montant    = int.Parse(txtMontantPaye.Text),
                        CodeCompte = cpte.CodeCompte,
                    };

                    db.EveDecaissements.Add(decaiss);
                    db.SaveChanges();
                    txtMontantPaye.Clear();
                }
                else if (cbxTypeFournisseur.Text == "Fournisseur de services ou fournitures")
                {
                    AgeFournisseursServicesFourniture typeFournisseur = db.AgeFournisseursServicesFournitures.FirstOrDefault(f => f.NomFournisseurServiceFourniture == cbxNomFournisseur.Text);
                    var             codeFourniseur = typeFournisseur.CodeFournisseurServiceFourniture;
                    EveDecaissement decaiss        = new EveDecaissement
                    {
                        DateDecaissement       = DateTime.Parse(dtpDateDecaissement.Text),
                        CodeFournisseurService = codeFourniseur,
                        CodeEmploye            = em.CodeEmploye,
                        Description            = "Paiement dette fournisseur services et fournitures",
                        Montant    = int.Parse(txtMontantPaye.Text),
                        CodeCompte = cpte.CodeCompte,
                    };

                    db.EveDecaissements.Add(decaiss);
                    db.SaveChanges();
                    txtMontantPaye.Clear();
                }
                MessageBox.Show("Le paiement du fournisseur a été effectué avec succès.");
            }
        }
        private void BtnEnregistrerAchatEquipementInfrastructure_Click(object sender, EventArgs e)
        {
            AgeAutreFournisseur  afourIm    = db.AgeAutreFournisseurs.FirstOrDefault(af => af.NomAutreFournisseur == cbxFournisseurImmo.Text);
            AgeEmploye           emp        = db.AgeEmployes.FirstOrDefault(em => em.PrenomNom == cbxRespImmo.Text);
            AgeEmploye           tresoriere = db.AgeEmployes.FirstOrDefault(em => em.PrenomNom == cbxTresoriere.Text);
            ResComptesTresorerie cpte       = db.ResComptesTresoreries.FirstOrDefault(c => c.NomCompte == cbxComptePaiement.Text);

            if (Validation.VerifierChampsMontant(txtMontant1.Text) && Validation.VerifierChampsMontant(txtQuantite.Text))
            {
                ResEquipementsInfrastructure einfr = new ResEquipementsInfrastructure()
                {
                    Nom                  = txtNomEqInfr1.Text,
                    DateAcquisition      = DateTime.Parse(dtpAchatNouveauEqInf.Text),
                    DureeDeVie           = int.Parse(txtDuree1.Text),
                    MaterielDeProduction = cbxImmobilisationLieeAProduction.Checked,
                    Montant              = int.Parse(txtMontant1.Text),
                    Quantite             = int.Parse(txtQuantite.Text)
                };

                db.ResEquipementsInfrastructures.Add(einfr);
                db.SaveChanges();

                EveReceptionEquipementsInfrastructure reinfr = new EveReceptionEquipementsInfrastructure()
                {
                    CodeEquipementInfrastructure = einfr.CodeEquipementInfrastructure,
                    CodeAutreFournisseur         = afourIm.CodeAutreFournisseur,
                    CodeEmploye = emp.CodeEmploye,
                };

                db.EveReceptionEquipementsInfrastructures.Add(reinfr);
                db.SaveChanges();

                // Décaissement effectué lors de l'acquisition de l'équipement ou de l'infrastructure
                // Il s'agit ici du montant au moment d'enregistrer la transaction. Souvent, il s'agit du
                // premier accompte.

                if (int.Parse(txtMontantPaye.Text) > 0)
                {
                    if (Tresorerie.IlYaAssezDeFondsDansLeCompte(cbxComptePaiement, txtMontantPaye))
                    {
                        EveDecaissement decaiss = new EveDecaissement
                        {
                            CodeReceptionEquipementInfrastructure = reinfr.CodeReceptionEquipementInfrastructure,
                            CodeAutreFournisseur = afourIm.CodeAutreFournisseur,
                            Description          = "Acquisition de " + einfr.Nom,
                            DateDecaissement     = einfr.DateAcquisition,
                            CodeEmploye          = tresoriere.CodeEmploye,
                            CodeCompte           = cpte.CodeCompte,
                            Montant = int.Parse(txtMontantPaye.Text),
                        };
                        db.EveDecaissements.Add(decaiss);
                        db.SaveChanges();
                    }
                }

                MessageBox.Show("Le nouvel achat ou acquisition d'équipement ou d'infrastructure a été enregistré avec succès!");
                txtNomEqInfr1.Text  = "";
                txtDuree1.Text      = "";
                txtMontant1.Text    = "";
                txtQuantite.Text    = "1";
                txtMontantPaye.Text = "";
            }
        }