private void EnregistrerEncaissement() { var employe = cbxResponsableTransaction.GetItemText(cbxResponsableTransaction.SelectedItem); var compte = cbxCompteCrediteur.GetItemText(cbxCompteCrediteur.SelectedItem); if (Validation.MontantEstValide(txtMontantEncaisse.Text) && ChampDescriptionEstRempli()) { EveEncaissement enc = new EveEncaissement { CodeEmploye = (from emp in db.AgeEmployes where emp.PrenomNom == employe select emp.CodeEmploye).FirstOrDefault(), CodeCompte = (from cpte in db.ResComptesTresoreries where cpte.NomCompte == compte select cpte.CodeCompte).FirstOrDefault() }; db.EveEncaissements.Add(enc); db.SaveChanges(); EveEncaissementsAutre autreEnc = new EveEncaissementsAutre { CodeEncaissement = enc.CodeEncaissement, DateEncaissement = dtpDateEncaissement.Value.Date, Description = txtDescription.Text, MontantEncaisse = int.Parse(txtMontantEncaisse.Text), FondsExternes = true }; db.EveEncaissementsAutres.Add(autreEnc); db.SaveChanges(); MessageBox.Show("L'encaissement de fonds a été enregistré avec succès."); txtDescription.Clear(); txtMontantEncaisse.Clear(); } else { MessageBox.Show("L'encaissement n'a pas été enregistré."); } }
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; } } } } }
// METHODES DE MISE A JOUR DES VENTES // private void MettreVenteAJour(int codeVente) { using (CasaDBEntities db = new CasaDBEntities()) { try { EveVente vente = db.EveVentes.FirstOrDefault(v => v.CodeVente == codeVente); EveEncaissementsVente encaissementVente = db.EveEncaissementsVentes.Where(v => v.CodeVente == codeVente).FirstOrDefault(); for (int i = 0; i < lvwPanier.Items.Count; i++) { string produit = lvwPanier.Items[i].SubItems[0].Text; string quantite = lvwPanier.Items[i].SubItems[1].Text; string montantText = lvwPanier.Items[i].SubItems[3].Text; int montant = int.Parse(Conversion.EnleverEspaces(montantText)); if (ProduitDansLePanierInitial(codeVente, produit)) { GestionVentes.MettreAJourVenteDUnProduit(codeVente, produit, quantite, montant.ToString()); } else { GestionVentes.EnregistrerNouvelleVenteDUnProduit(codeVente, produit, quantite, montant.ToString()); } } var montantPaye = Conversion.EnleverEspaces(txtMontantPaye.Text); if (IlYaEuEncaissementDeVente(codeVente)) { int codeCompte = int.Parse(cbxListeComptes.SelectedValue.ToString()); if (encaissementVente.EveEncaissement.CodeCompte != codeCompte) { var encaissement = encaissementVente.EveEncaissement; encaissement.CodeCompte = codeCompte; db.SaveChanges(); } // Le client a changé if (int.Parse(cbxListeClients.SelectedValue.ToString()) != vente.CodeClient) { vente.CodeClient = int.Parse(cbxListeClients.SelectedValue.ToString()); db.SaveChanges(); } if (Validation.VerifierChampsMontant(montantPaye)) { if (MontantPaye(codeVente) != decimal.Parse(montantPaye)) { GestionVentes.MettreEncaissementVenteAJour(codeVente, decimal.Parse(montantPaye), codeCompte); } } } else { if (Validation.VerifierChampsMontant(montantPaye) && decimal.Parse(montantPaye) > 0) { EveEncaissement encaisement = new EveEncaissement { CodeCompte = int.Parse(cbxListeComptes.SelectedValue.ToString()), CodeEmploye = 6, // Maimouna par defaut }; db.EveEncaissements.Add(encaisement); EveEncaissementsVente newEncaissement = new EveEncaissementsVente { DateEncaissement = dtpDateVente.Value.Date, CodeVente = vente.CodeVente, CodeEncaissement = encaisement.CodeEncaissement, CodeClient = int.Parse(cbxListeClients.SelectedValue.ToString()), MontantEncaisse = decimal.Parse(montantPaye) }; db.EveEncaissementsVentes.Add(newEncaissement); db.SaveChanges(); } } MessageBox.Show("Transaction mise à jour."); } catch (Exception) { MessageBox.Show("Erreur! La transaction n'a pas été mise à jour."); } } }