using System;
namespace FacadePattern
{
///
/// ATM机专属门面
///
public class AtmFacade
{
private readonly IBankSubsystem _bankSubsystem = new BankSubsystem();
private BankAccount _account;
public void Login(string no, string pwd)
{
_account = AccountSubsystem.Login(no, pwd);
}
public bool IsLogin()
{
return _account != null;
}
///
/// 取款
///
///
public void WithdrewCash(int money)
{
if (_bankSubsystem.WithdrewMoney(_account, money))
{
Console.WriteLine("取款成功!");
AccountSubsystem.Display(_account);
}
}
///
/// 存款
///
///
public void DepositCash(int money)
{
if (_bankSubsystem.DepositMoney(_account, money))
{
Console.WriteLine("存款成功!");
AccountSubsystem.Display(_account);
}
}
///
/// 查余额
///
public void QueryBalance()
{
if (_bankSubsystem.CheckBalance(_account) > 0)
AccountSubsystem.Display(_account);
}
///
/// 转账
///
///
///
public void TransferMoney(string targetNo, int money)
{
if (_bankSubsystem.TransferMoney(_account, targetNo, money))
{
Console.WriteLine("转账成功!");
AccountSubsystem.Display(_account);
}
}
}
}