BankSubsystem.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using System;
  2. namespace FacadePattern
  3. {
  4. public class BankSubsystem : IBankSubsystem
  5. {
  6. /// <summary>
  7. /// 查询余额
  8. /// </summary>
  9. /// <param name="account">银行账户</param>
  10. /// <returns></returns>
  11. public int CheckBalance(BankAccount account)
  12. {
  13. return account.TotalMoney;
  14. }
  15. /// <summary>
  16. /// 取款
  17. /// </summary>
  18. /// <param name="account">银行账户</param>
  19. /// <param name="money">取多少钱</param>
  20. /// <returns>余额</returns>
  21. public bool WithdrewMoney(BankAccount account, int money)
  22. {
  23. if (account.TotalMoney >= money)
  24. account.TotalMoney -= money;
  25. else
  26. throw new Exception("余额不足!");
  27. return true;
  28. }
  29. /// <summary>
  30. /// 转账
  31. /// </summary>
  32. /// <param name="account">转出账户</param>
  33. /// <param name="targetNo">目标账户</param>
  34. /// <param name="money">转多少钱</param>
  35. /// <returns></returns>
  36. public bool TransferMoney(BankAccount account, string targetNo, int money)
  37. {
  38. var targetAccount = AccountSubsystem.GetAccount(targetNo);
  39. if (targetAccount == null)
  40. throw new Exception("目标账户不存在!");
  41. if (account.TotalMoney < money)
  42. throw new Exception("余额不足!");
  43. account.TotalMoney -= money;
  44. targetAccount.TotalMoney += money;
  45. return true;
  46. }
  47. /// <summary>
  48. /// 存款
  49. /// </summary>
  50. /// <param name="account">银行账户</param>
  51. /// <param name="money">存多少钱</param>
  52. /// <returns></returns>
  53. public bool DepositMoney(BankAccount account, int money)
  54. {
  55. account.TotalMoney += money;
  56. return true;
  57. }
  58. /// <summary>
  59. /// 充值话费
  60. /// </summary>
  61. /// <param name="phoneNumber">手机号</param>
  62. /// <param name="account">银行账户</param>
  63. /// <param name="money">充值多少</param>
  64. /// <returns></returns>
  65. public bool RechargeMobilePhone(BankAccount account, string phoneNumber, int money)
  66. {
  67. throw new NotImplementedException();
  68. }
  69. }
  70. }