Esempio n. 1
0
        static void Main(string[] args)
        {
            int        option  = 0;
            ISaveMoney account = null;

            do
            {
                Console.WriteLine();
                Console.WriteLine("---------------------");
                Console.WriteLine("Este es el menú. Por favor elija una opción:");
                Console.WriteLine("---------------------");
                Console.WriteLine("Para crear tu cuenta: Pulsa 1");
                Console.WriteLine("Para ingresar dinero: Pulsa 2");
                Console.WriteLine("Para sacar dienro: Pulsa 3");
                Console.WriteLine("Para ver tu saldo: Pulsa 4");
                Console.WriteLine("Para salir Pulsa 5");

                int.TryParse(Console.ReadLine(), out option);

                switch (option)
                {
                case 1:
                    int accountType = 1;
                    Console.WriteLine("De que tipo? 1 Bancaria. 2 Hucha");
                    int.TryParse(Console.ReadLine(), out accountType);
                    switch (accountType)
                    {
                    case 1:
                        account = new AccountBank(0);
                        break;

                    case 2:
                        account = new MoneyBox();
                        break;
                    }
                    Console.WriteLine("La cuenta ha sido creada");
                    break;

                case 2:
                    if (account != null)
                    {
                        Console.WriteLine("¿Cuanto quieres ingresar?");
                        decimal.TryParse(Console.ReadLine(), out decimal amount);
                        account.AddMoney(amount);
                        Console.WriteLine("Se ha ingresado el dinero");
                    }
                    else
                    {
                        Console.WriteLine("No ha creado la cuenta");
                    }
                    break;

                case 3:
                    if (account != null)
                    {
                        Console.WriteLine("¿Cuanto quieres sacar?");
                        decimal.TryParse(Console.ReadLine(), out decimal amountTakeMoney);
                        try
                        {
                            account.TakeMoney(amountTakeMoney);
                            Console.WriteLine("Se ha sacado el dinero");
                        }
                        catch (Exception)
                        {
                            Console.WriteLine("No se puede sacar tanto dinero");
                        }
                    }
                    else
                    {
                        Console.WriteLine("No ha creado la cuenta");
                    }
                    break;

                case 4:
                    if (account != null)
                    {
                        Console.WriteLine($"{account.GetBalanceWithText()}");
                    }
                    else
                    {
                        Console.WriteLine("No ha creado la cuenta");
                    }
                    break;

                case 5:
                    Console.WriteLine("Hasta pronto!");
                    break;
                }
            } while (option != 5);
        }
 public static string GetBalanceWithText(this ISaveMoney saveMoney)
 {
     return($"Tu saldo es {saveMoney.GetBalance()}");
 }