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);
        }