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é"); } }
private void UC_MouvementCompteACompte_Load(object sender, EventArgs e) { resComptesTresorerieBindingSource.DataSource = db.ResComptesTresoreries.OrderBy(ct => ct.NomCompte).ToList(); resComptesTresorerieBindingSource1.DataSource = db.ResComptesTresoreries.OrderBy(ct => ct.NomCompte).ToList(); ChargerListeEmployes(); Tresorerie.AfficherSoldeTresorerie(cbxCompteDebit, txtSoldeCompte); }
private void UC_CreancesClients_Load(object sender, EventArgs e) { lbxListeClients.DataSource = Conversion.ListeClientsAvecCreances().OrderBy(c => c.NomClient).ToList(); lbxListeClients.DisplayMember = "NomClient"; lbxListeClients.ValueMember = "CodeClient"; txtTotalCreances.Text = Tresorerie.CalculerTotalCreancesClients().ToString("c0"); }
private List <AgeAutreFournisseur> ListeFournisseursEquipementsInfrastructures() { var listeFournisseurs = db.AgeAutreFournisseurs.ToList(); return(listeFournisseurs .Where(f => Tresorerie.CalculerTotalDettesFournisseurMatierePremiere(f.CodeAutreFournisseur) > 0) .ToList()); }
private void LoadData() { ageAutreFournisseursBindingSource.DataSource = db.AgeAutreFournisseurs.OrderBy(af => af.NomAutreFournisseur).ToList(); ChargerListeEmployes(); resComptesTresorerieBindingSource.DataSource = db.ResComptesTresoreries.OrderBy(ct => ct.NomCompte).ToList(); Tresorerie.AfficherSoldeTresorerie(cbxComptePaiement, txtSoldeCompte); }
/************************************************************ * HELPERS ************************************************************/ private List <AgeFournisseursMatieresPremiere> ListeFournisseurMatieresPremieres() { var listeFournisseurs = db.AgeFournisseursMatieresPremieres.ToList(); return(listeFournisseurs .Where(f => Tresorerie.CalculerTotalDettesFournisseurMatierePremiere(f.CodeFournisseurMatierePremiere) > 0) .ToList()); }
private void LoadData() { var listePersonnel = (from p in db.AgeEmployes where p.Actif == true select new { Nom = p.PrenomNom, p.Poste }).OrderBy(e => e.Nom).ToList(); dgvListePersonnel.DataSource = listePersonnel; cbxTempsEtRemun.DisplayMember = "PrenomNom"; cbxTempsEtRemun.ValueMember = "CodeEmploye"; cbxTempsEtRemun.DataSource = db.AgeEmployes .Where(em => em.Actif == true) .Where(em => !em.Poste.StartsWith("Stagiaire")) .OrderBy(c => c.PrenomNom) .ToList(); ageEmployeBindingSource1.DataSource = db.AgeEmployes .Where(em => em.Actif == true) .OrderBy(em => em.PrenomNom) .ToList(); resComptesTresorerieBindingSource.DataSource = db.ResComptesTresoreries.OrderBy(ct => ct.NomCompte).ToList(); cbxTimeSheetNomEmploye.DataSource = db.AgeEmployes .Where(em => em.Actif == true) .Where(em => !em.Poste.StartsWith("Stagiaire")) .OrderBy(c => c.PrenomNom) .ToList(); cbxTimeSheetNomEmploye.DisplayMember = "PrenomNom"; cbxTimeSheetNomEmploye.ValueMember = "CodeEmploye"; cbxTresoriere.DataSource = Conversion.ListeEmployesPresents(dtpDatePaiement) .Where(em => !em.Poste.StartsWith("Stagiaire")) .OrderBy(c => c.PrenomNom) .ToList(); cbxTresoriere.DisplayMember = "PrenomNom"; cbxTresoriere.ValueMember = "CodeEmploye"; cbxStagiaires.DisplayMember = "PrenomNom"; cbxStagiaires.ValueMember = "CodeEmploye"; cbxStagiaires.DataSource = db.AgeEmployes .Where(em => em.Actif == true) .Where(em => em.Poste.StartsWith("Stagiaire")) .OrderBy(c => c.PrenomNom) .ToList(); cbxComptePaiementStagiare.DataSource = db.ResComptesTresoreries.OrderBy(ct => ct.NomCompte).ToList(); cbxComptePaiementStagiare.ValueMember = "CodeCompte"; cbxPaiementFaitPar.DataSource = Conversion.ListeEmployesPresents(dtpDatePaiement) .Where(em => !em.Poste.StartsWith("Stagiaire")) .OrderBy(c => c.PrenomNom) .ToList(); cbxPaiementFaitPar.DisplayMember = "PrenomNom"; cbxPaiementFaitPar.ValueMember = "CodeEmploye"; AfficherPresenceEtRemunerationEmploye(dtpDebut.Value.Date, dtpFin.Value.Date); Tresorerie.AfficherSoldeTresorerie(cbxComptePaiement, txtSoldeCompte); }
private void LoadData() { resServicesFournituresBindingSource.DataSource = db.ResServicesFournitures.OrderBy(sf => sf.NomServiceFourniture).ToList(); resComptesTresorerieBindingSource.DataSource = db.ResComptesTresoreries.OrderBy(ct => ct.NomCompte).ToList(); ageFournisseursServicesFournituresBindingSource.DataSource = db.AgeFournisseursServicesFournitures.OrderBy(f => f.NomFournisseurServiceFourniture).ToList(); ChargerListeEmployes(); Tresorerie.AfficherSoldeTresorerie(cbxComptePaiement, txtSoldeCompte); }
private void LoadData() { ageFournisseursMatieresPremieresBindingSource.DataSource = db.AgeFournisseursMatieresPremieres.OrderBy(f => f.Nom).ToList(); resStockMatieresPremieresBindingSource.DataSource = db.ResStockMatieresPremieres.OrderBy(m => m.NomMatiere).ToList(); ChargerListeEmployes(); resComptesTresorerieBindingSource.DataSource = db.ResComptesTresoreries.OrderBy(ct => ct.NomCompte).ToList(); cbxTypesMatieres.DataSource = db.TypesMatieres.OrderBy(tm => tm.NomType).ToList(); cbxTypesMatieres.DisplayMember = "NomType"; cbxTypesMatieres.ValueMember = "codeTypeMatiere"; //cbxTypesMatieres.DataSource = (from mp in db.ResStockMatieresPremieres select mp.TypeMatiere).Distinct().ToList(); Tresorerie.AfficherSoldeTresorerie(cbxComptePaiement, txtSoldeCompte); }
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 UC_NouveauDecaissement_Load(object sender, EventArgs e) { try { cbxTypeFournisseur.SelectedIndex = 0; DefinirListeDesFournisseursAAfficher(); ChargerListeEmployes(); resComptesTresorerieBindingSource.DataSource = db.ResComptesTresoreries.OrderBy(ct => ct.NomCompte).ToList(); Tresorerie.AfficherSoldeTresorerie(cbxCompte, txtSoldeCompte); AfficherDetteDuFournisseurSelectionne(); } catch (Exception) { MessageBox.Show("Il n'y a pas de fournisseurs à qui nous devons de l'argent."); } }
public static List <AgeClient> ListeClientsAvecCreances() { using (CasaDBEntities db = new CasaDBEntities()) { var listeClients = new List <AgeClient>(); var newListe = db.AgeClients.ToList(); foreach (var client in newListe) { var soldeCreanceClient = Tresorerie.CalculerSoldeCreanceClient(client.CodeClient); if (soldeCreanceClient > 0) { listeClients.Add(client); } } return(listeClients); } }
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 UC_DettesFournisseurs_Load(object sender, EventArgs e) { rbtFMatieresPremieres.Checked = true; ListerFournisseurAvecDettesFournisseurs(); txtTotalDettesFournisseurs.Text = Tresorerie.CalculerTotalDettesFournisseurs().ToString("c0"); }
private void CbxComptePaiement_SelectedIndexChanged(object sender, EventArgs e) { Tresorerie.AfficherSoldeTresorerie(cbxComptePaiement, txtSoldeCompte); }
private void AfficherDetteDuFournisseurSelectionne() { int codeFournisseur = int.Parse(cbxNomFournisseur.SelectedValue.ToString()); txtDetteFournisseur.Text = Tresorerie.CalculerSoldeDetteParFournisseur(codeFournisseur).ToString("c0"); }
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 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 AfficherTableauDeTresorerie() { ReInitialiserTableau(dgvTableauTresorerie); Tresorerie.AfficherTresorerie(dgvTableauTresorerie, dtpDebut, dtpFin); }
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 = ""; } }
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é."); } }
private void AfficherJournalCorrespondant(string nomCompte) { var query1 = (from c in db.EveEncaissements from env in db.EveEncaissementsVentes where c.CodeEncaissement == env.CodeEncaissement where c.ResComptesTresorerie.NomCompte == nomCompte select new { Date = env.DateEncaissement, Description = "Encaissement vente", //vpf.ResStockProduitsFini.NomProduit, Entree = env.MontantEncaisse, Sortie = 0m, Solde = 0m }); var query3 = (from c in db.EveEncaissements from aut in db.EveEncaissementsAutres where c.CodeEncaissement == aut.CodeEncaissement where c.ResComptesTresorerie.NomCompte == nomCompte select new { Date = aut.DateEncaissement, aut.Description, Entree = aut.MontantEncaisse, Sortie = 0m, Solde = 0m }); var query4 = (from c in db.EveEncaissements from aut in db.EveEncaissementsCreances where c.CodeEncaissement == aut.CodeEncaissement where c.ResComptesTresorerie.NomCompte == nomCompte select new { Date = aut.DateEncaissement, Description = "Encaissement créance", Entree = aut.MontantEncaisse, Sortie = 0m, Solde = 0m }); var query2 = (from d in db.EveDecaissements where d.ResComptesTresorerie.NomCompte == nomCompte select new { Date = d.DateDecaissement, d.Description, Entree = 0m, Sortie = d.Montant, Solde = 0m }); var combinedQuery = query1 .Concat(query4) .Concat(query3) .Concat(query2) .OrderByDescending(o => o.Date) .ToList(); var soldeInitial = (from c in db.ResComptesTresoreries where c.NomCompte == nomCompte select c.SoldeCompte).FirstOrDefault(); DataTable dt = Conversion.ConvertirEnTableDeDonnees(combinedQuery); DataRow dr = dt.NewRow(); dt.Rows.InsertAt(dr, dt.Rows.Count); dr["Entree"] = 0; dr["Sortie"] = 0; dr["Description"] = "Solde initial"; dgvJournalTresorerieDetails.DataSource = dt; for (int i = dgvJournalTresorerieDetails.Rows.Count - 1; i >= 0; i--) { if (i < dgvJournalTresorerieDetails.Rows.Count - 1) { dgvJournalTresorerieDetails.Rows[i].Cells[4].Value = Convert.ToInt32(dgvJournalTresorerieDetails.Rows[i + 1].Cells[4].Value) + Convert.ToInt32(dgvJournalTresorerieDetails.Rows[i].Cells[2].Value) - Convert.ToInt32(dgvJournalTresorerieDetails.Rows[i].Cells[3].Value); } else { dgvJournalTresorerieDetails.Rows[i].Cells[4].Value = soldeInitial + Convert.ToInt32(dgvJournalTresorerieDetails.Rows[i].Cells[2].Value) - Convert.ToInt32(dgvJournalTresorerieDetails.Rows[i].Cells[3].Value); } } dgvJournalTresorerieDetails.Columns["Entree"].DefaultCellStyle.Format = "n0"; dgvJournalTresorerieDetails.Columns["Sortie"].DefaultCellStyle.Format = "n0"; dgvJournalTresorerieDetails.Columns["Solde"].DefaultCellStyle.Format = "n0"; dgvJournalTresorerieDetails.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; dgvJournalTresorerieDetails.Columns["Description"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft; // Calcul des soldes var soldeInitiaux = (from c in db.ResComptesTresoreries select(decimal?) c.SoldeCompte).Sum() ?? 0m; var totalEncaissementsVentes = (from c in db.EveEncaissements from env in db.EveEncaissementsVentes where c.CodeEncaissement == env.CodeEncaissement select(decimal?) env.MontantEncaisse).Sum() ?? 0m; var encaissementCreance = (from c in db.EveEncaissements from env in db.EveEncaissementsCreances where c.CodeEncaissement == env.CodeEncaissement select(decimal?) env.MontantEncaisse).Sum() ?? 0m; var totalAutresEn = (from enc in db.EveEncaissements from aut in db.EveEncaissementsAutres where aut.FondsExternes == true where enc.CodeEncaissement == aut.CodeEncaissement select(decimal?) aut.MontantEncaisse).Sum() ?? 0m; var totalDecaissements = (from d in db.EveDecaissements where d.DecaissementInterne == false select(decimal?) d.Montant).Sum() ?? 0m; var fondsDisponibleEnCaissesEtEnBanques = soldeInitiaux + totalEncaissementsVentes + totalAutresEn + encaissementCreance - totalDecaissements; txtSoldesInitiaux.Text = soldeInitiaux.ToString("c0"); txtTotalEncaissements.Text = (totalEncaissementsVentes + encaissementCreance + totalAutresEn).ToString("c0"); txtTotalDecaissements.Text = totalDecaissements.ToString("c0"); txtSolde.Text = Tresorerie.CalculerSoldeTresorerie(DateTime.Today); }