public async Task Consume(ConsumeContext <PaymentAccepted> context) { Console.WriteLine($"Message received: {JsonSerializer.Serialize(context.Message)}"); var shippingOrder = await _shippingOrderRepository.Get(context.Message.OrderId); if (shippingOrder == null) { throw new ArgumentNullException(nameof(context.Message.OrderId)); } var address = _shippingAddressesRepository.GetCustomerAddress(context.Message.OrderId); var confirmation = _shippingProvider.ArrangeShippingFor(address.Address, context.Message.OrderId.ToString()); shippingOrder.UpdateShippingStatus(confirmation); await _shippingOrderRepository.SaveChanges(); }