AtmFacade.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using System;
  2. namespace FacadePattern
  3. {
  4. /// <summary>
  5. /// ATM机专属门面
  6. /// </summary>
  7. public class AtmFacade
  8. {
  9. private readonly IBankSubsystem _bankSubsystem = new BankSubsystem();
  10. private BankAccount _account;
  11. public void Login(string no, string pwd)
  12. {
  13. _account = AccountSubsystem.Login(no, pwd);
  14. }
  15. public bool IsLogin()
  16. {
  17. return _account != null;
  18. }
  19. /// <summary>
  20. /// 取款
  21. /// </summary>
  22. /// <param name="money"></param>
  23. public void WithdrewCash(int money)
  24. {
  25. if (_bankSubsystem.WithdrewMoney(_account, money))
  26. {
  27. Console.WriteLine("取款成功!");
  28. AccountSubsystem.Display(_account);
  29. }
  30. }
  31. /// <summary>
  32. /// 存款
  33. /// </summary>
  34. /// <param name="money"></param>
  35. public void DepositCash(int money)
  36. {
  37. if (_bankSubsystem.DepositMoney(_account, money))
  38. {
  39. Console.WriteLine("存款成功!");
  40. AccountSubsystem.Display(_account);
  41. }
  42. }
  43. /// <summary>
  44. /// 查余额
  45. /// </summary>
  46. public void QueryBalance()
  47. {
  48. if (_bankSubsystem.CheckBalance(_account) > 0)
  49. AccountSubsystem.Display(_account);
  50. }
  51. /// <summary>
  52. /// 转账
  53. /// </summary>
  54. /// <param name="targetNo"></param>
  55. /// <param name="money"></param>
  56. public void TransferMoney(string targetNo, int money)
  57. {
  58. if (_bankSubsystem.TransferMoney(_account, targetNo, money))
  59. {
  60. Console.WriteLine("转账成功!");
  61. AccountSubsystem.Display(_account);
  62. }
  63. }
  64. }
  65. }