public void ValiderTransactionCompteEpargne(Transaction transaction, Employe employe) { parametreGeneralBLO = new ParametreGeneralBLO(); operationBLO = new OperationBLO(); compteClientBLO = new CompteClientBLO(); fondBLO = new FondBLO(); epargneBLO = new EpargneBLO(); Transaction oldTransaction = transaction; int index = transactionBLO.IndexOf(transaction); transaction.StatutTransaction = StatutTransaction.Validé; transaction.EmployeValideur = employe; transactionBLO[index] = transaction; if (transaction.TypeTransaction == TypeTransaction.Dépot) { compteClientBLO.CrediterCompteClient(transaction.CompteClientEmetteur, transaction.Montant, employe); fondBLO.MettreArgentEnFond(employe, transaction.CompteClientDestinataire, transaction.Montant, "toto tata"); operationBLO.AjouterOperation(TypeOperation.Dépot, employe, transaction.CompteClientEmetteur.Client, transaction.CompteClientEmetteur, transaction.Montant, "toto tata"); epargneBLO.AugmenterMontantEpargner(transaction.Epargne, transaction.Montant, employe); } else if (transaction.TypeTransaction == TypeTransaction.Retrait && oldTransaction.StatutTransaction == StatutTransaction.Avisé && (DateTime.Compare(oldTransaction.DateTransaction.AddDays(oldTransaction.NombreJourAttente), DateTime.Now)) >= 0) { compteClientBLO.DebiterCompteClient(transaction.CompteClientEmetteur, transaction.Montant, employe); fondBLO.SortirArgentEnFond(employe, transaction.CompteClientDestinataire, transaction.Montant, "toto tata"); operationBLO.AjouterOperation(TypeOperation.Retrait, employe, transaction.CompteClientEmetteur.Client, transaction.CompteClientEmetteur, transaction.Montant, "toto tata"); epargneBLO.ReduireMontantEpargner(transaction.Epargne, transaction.Montant, employe); } else if (transaction.TypeTransaction == TypeTransaction.Retrait && !VerifierSiAvis(transaction)) { double montant = (transaction.Montant + ((parametreGeneralBLO.TousParametreGenerals[0].PourcentageRetraitEpargneSansAvis * transaction.Montant) / 100)); compteClientBLO.DebiterCompteClient(transaction.CompteClientEmetteur, montant, employe); fondBLO.SortirArgentEnFond(employe, transaction.CompteClientDestinataire, transaction.Montant, "toto tata"); operationBLO.AjouterOperation(TypeOperation.Retrait, employe, transaction.CompteClientEmetteur.Client, transaction.CompteClientEmetteur, montant, "toto tata"); epargneBLO.ReduireMontantEpargner(transaction.Epargne, montant, employe); } }
public void DebiterCompteClient(CompteClient compteClient, double montant, Employe employe) { operationBLO = new OperationBLO(); fondBLO = new FondBLO(); double montantFinal = (montant + CalculInteretRetrait(montant)); CompteClient oldCompteClient = compteClient; compteClient.Solde -= montantFinal; compteClientBLO[compteClientBLO.IndexOf(oldCompteClient)] = compteClient; if (compteClient.TypeCompte == TypeCompte.Epargne) { epargneBLO.ReduireMontantEpargner(epargneBLO.RechercherEpargneEnCoursDuCompte(compteClient), montant, employe); } fondBLO.SortirArgentEnFond(employe, compteClient, montant, "toto tata"); operationBLO.AjouterOperation(TypeOperation.Retrait, employe, compteClient.Client, compteClient, montantFinal, "toto tata"); }