private WalletBuilder CreateWalletBuilder(Customer customer, Decimal startBalance = 0) { var builder = new WalletBuilder(_dateTimeProvider); builder.SetStartBalance(startBalance); if (customer.IsVerified) { return(builder); } return(builder .SetTransferAmountLimit(_outLimitForRestricted) .SetWithdrawalAmountLimit(_outLimitForRestricted)); }
// By Default create one account with Rub currency public async Task <(Wallet wallet, string errorMessage)> CreateWalletAsync(Action <IWalletBuilder> builderOptions) { var builder = new WalletBuilder(); builderOptions(builder); Wallet newWallet = builder.Build(); if (!await Repository.Set().AnyAsync(WalletExist(newWallet))) { await Repository.Set().AddAsync(newWallet); await Repository.SaveChangesAsync(); return(newWallet, errorMessage : string.Empty); } return(null, "Wallet with this User already exist"); }
public void Setup() { cardBuilderMock = new Mock <ICreditCardBuilder>(); sutBuilder = new WalletBuilder(cardBuilderMock.Object); }