Example #1
0
        public void AjouterCompteClient(Client client, TypeCompte typeCompte, TypeAppartenantCompteEpargne?typeAppartenantCompteEpargne,
                                        string nomStructure, int nombreMois, double montant, Employe employe)
        {
            epargneBLO     = new EpargneBLO();
            operationBLO   = new OperationBLO();
            transactionBLO = new TransactionBLO();

            int          idEpargne    = new IdentifiantBLO().IdEpargne;
            CompteClient compteClient = new CompteClient(CodeCompteClient(typeCompte, typeAppartenantCompteEpargne), client, typeCompte, typeAppartenantCompteEpargne,
                                                         nomStructure, 0, StatutCompte.En_attente_de_validité, DateTime.Now);

            compteClientBLO.Add(compteClient);

            operationBLO.AjouterOperation(TypeOperation.Ajout, employe, client, compteClient, 0, "toto tata");

            Epargne epargne = new Epargne(0);

            if (typeCompte == TypeCompte.Epargne)
            {
                epargneBLO.AjouterEpargne(compteClient, nombreMois, 0, employe);

                epargne = epargneBLO.RechercheEpargne(idEpargne);
            }

            transactionBLO.InitierTransaction(typeCompte, TypeTransaction.Dépot, epargne, compteClient, new CompteClient("Indefini"), employe, montant, 0);

            new IdentifiantBLO().AddIdCompteClient();
        }
Example #2
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);
            }
        }
Example #3
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");
        }