public async Task <Merchant> Handle(FindMerchant request, CancellationToken cancellationToken) { if (request is null) { throw new ArgumentNullException(nameof(request)); } using (var db = new PaymentGatewayDbContext()) { return(await db.Merchants.FindAsync(request.Id)); } }
public Task <Merchant> Handle(FindMerchant request, CancellationToken cancellationToken) { if (request is null) { throw new ArgumentNullException(nameof(request)); } if (MerchantDb.TryGetValue(request.Id, out var merchant)) { return(Task.FromResult(merchant)); } return(Task.FromResult <Merchant>(null)); }