예제 #1
0
 /// <summary>
 /// Handle open account request.
 /// </summary>
 /// <param name="command">The open account command.</param>
 /// <param name="accountNumberGenerator">The account number generator service.</param>
 public void Handle(OpenAccount command, IGenerateAccountNumbers accountNumberGenerator)
 {
     if (Status == AccountStatus.New)
     {
         Raise(new AccountOpened(command.AccountType, accountNumberGenerator.GetAccountNumber(command.AccountType), Decimal.Zero, AccountStatus.Opened));
     }
     else
     {
         Raise(new AccountAlreadyOpened(command.AccountType, Number, Balance, Status));
     }
 }
예제 #2
0
 /// <summary>
 /// Handle open account request.
 /// </summary>
 /// <param name="command">The open account command.</param>
 /// <param name="accountNumberGenerator">The account number generator service.</param>
 public void Handle(OpenAccount command, IGenerateAccountNumbers accountNumberGenerator)
 {
     if (Status == AccountStatus.New)
     {
         Raise(new AccountOpened(command.AccountType, accountNumberGenerator.GetAccountNumber(command.AccountType), Decimal.Zero, AccountStatus.Opened));
     }
     else
     {
         Raise(new AccountAlreadyOpened(command.AccountType, Number, Balance, Status));
     }
 }