public async Task <Guid> CreateCreditAccount(CreditAccountInfo creditAccountInfo) { var account = new CreditAccountAggregateRoot(Guid.NewGuid()); account.AddEvent(new IssuerInformationSetEvent { IssuerId = creditAccountInfo.IssuerId }); account.AddEvent(new CreditLimitSetEvent { CreditLimit = creditAccountInfo.CreditLimit }); await _accountDomainRepository.SaveAccount(account); return(account.Id); }
public async Task <string> CreateCreditAccount(CreditAccountInfo creditAccountInfo) { var account = new Account(Guid.NewGuid()); account.AddEvent(new IssuerInformationSetEvent { IssuerId = creditAccountInfo.IssuerId }); account.AddEvent(new CreditLimitChangedEvent { CreditLimit = creditAccountInfo.CreditLimit }); await _accountRepository.SaveAccount(account); return(account.Id); }