예제 #1
0
 public Task Handle(DeliveryRequestRefusedEvent message, IMessageHandlerContext context)
 {
     //TODO: actual business logic goes here
     log.Info($"Delivery request refused for CartId {message.CartId}");
     MarkAsComplete();
     return(Task.CompletedTask);
 }
예제 #2
0
        public Task Handle(SendDeliveryRequestCommand message, IMessageHandlerContext context)
        {
            //TODO: acual delivery logic goes here

            //randomly return negative events
            if (random.Next(0, 5) == 0)
            {
                var deliveryRequestRefused = new DeliveryRequestRefusedEvent
                {
                    CartId = message.CartId
                };
                return(context.Publish(deliveryRequestRefused));
            }

            var deliveryRequestApproved = new DeliveryRequestApprovedEvent
            {
                CartId = message.CartId
            };

            return(context.Publish(deliveryRequestApproved));
        }