public void AccountWithdrawFails()
        {
            var repo = new AccountRepository();
            var accountToWithdraw = repo.LoadAccount(2);
            var accountManager = new AccountManager();
            var response = accountManager.Withdraw(accountToWithdraw, 200M);

            Assert.AreEqual(false, response.Success);
        }
        public void AccountWithdrawSucceeds()
        {
            var repo = new AccountRepository();
            var accountToWithdraw = repo.LoadAccount(3);
            var accountManager = new AccountManager();
            var response = accountManager.Withdraw(accountToWithdraw, 100M);

            Assert.AreEqual(455M, response.Data.NewBalance);
            Assert.AreEqual(100M, response.Data.WithdrawAmount);
            Assert.AreEqual(true, response.Success);
        }
        public void Execute(Account account)
        {
            decimal amount = GetWithdrawAmount();

            var manager = new AccountManager();

            var response = manager.Withdraw(account, amount);

            if (response.Success)
            {
                Console.Clear();
                Console.WriteLine("Withdrew {0:c} to account {1}.  New Balance is {2}.",
                    response.Data.WithdrawAmount, response.Data.AccountNumber, response.Data.NewBalance);
                Console.WriteLine("Press any key to continue...");
                Console.ReadKey();
            }
            else
            {
                Console.Clear();
                Console.WriteLine("An error occurred.  {0}", response.Message);
                Console.WriteLine("Press any key to continue...");
                Console.ReadKey();
            }
        }