예제 #1
0
        public void ActiverCompteClient(CompteClient compteClient, double montantDepot, Employe employe)
        {
            fondBLO = new FondBLO();

            double montant;

            if (compteClient.StatutCompte == StatutCompte.En_attente_de_validité)
            {
                montant = parametreGeneralBLO.TousParametreGenerals[0].MontantDeCreationCompte;
            }
            else
            {
                montant = parametreGeneralBLO.TousParametreGenerals[0].FraiesDebloquerCompte;
            }

            if (montant > 0)
            {
                fondBLO.MettreArgentEnFond(employe, compteClient, montant, "toto tata");
            }

            CompteClient oldCompteClient = compteClient;

            compteClient.StatutCompte = StatutCompte.Activé;
            compteClientBLO[compteClientBLO.IndexOf(oldCompteClient)] = compteClient;

            operationBLO.AjouterOperation(TypeOperation.Activation, employe, compteClient.Client, compteClient, montant, "toto tata");

            if (montantDepot > 0)
            {
                CrediterCompteClient(compteClient, montantDepot, employe);
            }
        }
예제 #2
0
        public void ValiderTransactionCompteCourant(Transaction transaction, Employe employe)
        {
            operationBLO    = new OperationBLO();
            compteClientBLO = new CompteClientBLO();
            fondBLO         = new FondBLO();

            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");
            }
            else if (transaction.TypeTransaction == TypeTransaction.Retrait)
            {
                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");
            }
            else
            {
                compteClientBLO.CrediterUnAutreCompte(transaction.CompteClientEmetteur, transaction.CompteClientDestinataire, transaction.Montant, employe);
                operationBLO.AjouterOperation(TypeOperation.Transfert_inter_compte, employe, transaction.CompteClientEmetteur.Client,
                                              transaction.CompteClientEmetteur, transaction.Montant, "toto tata");
            }
        }
예제 #3
0
        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);
            }
        }
예제 #4
0
        public void CrediterCompteClient(CompteClient compteClient, double montant, Employe employe)
        {
            operationBLO = new OperationBLO();
            epargneBLO   = new EpargneBLO();
            fondBLO      = new FondBLO();

            CompteClient oldCompteClient = compteClient;

            compteClient.Solde += montant;
            compteClientBLO[compteClientBLO.IndexOf(oldCompteClient)] = compteClient;

            if (compteClient.TypeCompte == TypeCompte.Epargne)
            {
                epargneBLO.AugmenterMontantEpargner(epargneBLO.RechercherEpargneEnCoursDuCompte(compteClient), montant, employe);
            }

            fondBLO.MettreArgentEnFond(employe, compteClient, montant, "toto tata");

            operationBLO.AjouterOperation(TypeOperation.Dépot, employe, compteClient.Client, compteClient, montant, "toto tata");
        }
예제 #5
0
        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");
        }