private async Task HandleBankAccountCreatedEvent(BankAccountCreatedEvent @event) { var newBankAccount = new BankAccount { Id = @event.EntityId.ToString(), AccountHolderName = @event.Name, Balance = 0.0m }; repositoryFacade.BankAccountRepository.Insert(newBankAccount); await repositoryFacade.Save(); }
public void Open(string name) { if (Id != default) { return; } var newAccountId = new AccountId(); var @event = new BankAccountCreatedEvent( name, newAccountId.Value ); Apply(@event); }
public async void WhenABankAccountCreatedEventIsReceived_ThenANewBankAccountIsSaved() { var bankAccountId = new AccountId(); var bankAccountCreatedEvent = new BankAccountCreatedEvent("John Doe", bankAccountId.Value, 1); var jsonData = JsonConvert.SerializeObject(bankAccountCreatedEvent); await readerStoreEventHandler.Run(jsonData, 1, DateTime.UtcNow, "1", mockLogger.Object); mockRepositoryFacade.MockRepositoryFacade.Verify( mock => mock.BankAccountRepository.Insert( It.Is <Banking.QueryProcessor.Domain.BankAccount.BankAccount>( bankAccount => bankAccount.Id == bankAccountId.Value.ToString() && bankAccount.AccountHolderName == "John Doe" ) ) ); }