public bool TransferBalanceToThisAccount(decimal amount, CuentaCorriente accountTransfering)
        {
            decimal firstAccountBalanceQuery = accountTransfering.BalanceQuery();

            if (amount <= firstAccountBalanceQuery)
            {
                accountTransfering.SubtractBalance(amount);
                AddBalance(amount);

                return(true);
            }

            Console.WriteLine("Invalid amount of balance to transfer, account transfering doesn't meet the required balance for the transaction.");

            return(false);
        }
Example #2
0
        static void Main(string[] args)
        {
            /*
             * Desarrolle una programa orientado a objetos en C#, para gestionar una clase cuenta corriente
             * se caracteriza por tener asociado un numero de cuenta y un saldo disponible.
             * Además, se puede consultar el saldo disponible en cualquier momento, recibir depósitos y realizar
             * extracciones y pagos.
             * Creara demás una clase Persona, que se caracteriza por un DNI y un array de cuentas
             * bancarias. La Persona puede tener asociada hasta 3 cuentas bancarias, y debe tener un
             * método que permite añadir cuentas (hasta 3 que es el máximo). También debe contener un
             * método que devuelva si la persona es morosa, ej., si tienen alguna cuenta con saldo negativo.
             *
             * Crear una clase Prueba Cuentas que instancie un objeto Persona con un dni cualquiera, así
             * como dos objetos cuenta, una sin saldo inicial y otra con 700 euros. La persona recibe la
             * nomina mensual, por lo que ingresa 1100 euros en la primera cuenta, pero tiene que pagar el
             * alquiler de 750 euros con la segunda. Imprimir por pantalla el si la persona es morosa.
             * Posteriormente hacer una transferencia de una cuenta a otra y comprobar mostrándolo por
             * pantalla que cambia el estado de la persona.
             */

            Persona Mauricio = new Persona("32469622", new List <CuentaCorriente>());

            long idPrimeraCuentaMauricio = Mauricio.AddBankAccount(0);
            long idSegundaCuentaMauricio = Mauricio.AddBankAccount(700);

            CuentaCorriente primerCuenta  = Mauricio.GetCuentaCorriente(idPrimeraCuentaMauricio);
            CuentaCorriente segundaCuenta = Mauricio.GetCuentaCorriente(idSegundaCuentaMauricio);

            primerCuenta.AddBalance(1100); // se ingresa 1100 en la primera cuenta.
            segundaCuenta.SubtractBalance(700);

            WriteLine($"Estado de morosidad del usuario: {Mauricio.CheckMorosityInBankAccounts()} "); // imprimo por pantalla si es morosa o no
            WriteLine(primerCuenta.ToString());
            WriteLine(segundaCuenta.ToString());

            WriteLine("------------------------------------------------------------------------------------");

            segundaCuenta.TransferBalanceToThisAccount(700, primerCuenta);
            WriteLine(primerCuenta.ToString());
            WriteLine(segundaCuenta.ToString());
            WriteLine($"Estado de morosidad del usuario: {Mauricio.CheckMorosityInBankAccounts()} ");
        }