public async Task <bool> Handle(ChangeOrSetAmountCommand request, CancellationToken cancellationToken) { await UpdateAsync(Guid.Parse(request.Id), async payment => { payment.SomeNotNull() .Match(p => PaymentTransaction.ChangeOrSetAmountTo(p, Money.Create(request.Amount.Value, request.CurrencyCode.Value) ), () => throw new AggregateNotFoundException()); }); return(await Task.FromResult(true)); }