public async Task Consume(ConsumeContext <ShipmentDeliveredEvent> context)
        {
            ShipmentDeliveredEvent shipmentDeliveredEvent = context.Message;
            long orderId = long.Parse(shipmentDeliveredEvent.CorrelationId);

            await _distributedLockManager.LockAsync(OrderOperationKey(orderId),
                                                    async() =>
            {
                IOrderStateMachine orderStateMachine = await _orderStateMachineFactory.BuildOrderStateMachineAsync(orderId);
                orderStateMachine.ChangeShipmentStatus(ShipmentStatuses.Delivered);
            }
                                                    );
        }
Example #2
0
 public virtual void HandleEvent(ShipmentDeliveredEvent eventData)
 {
     using (_unitOfWorkManager.Current.SetTenantId(null))
     {
     }
 }
 public OrderShipmentStatusTrackerData FindBy(ShipmentDeliveredEvent message)
 {
     return(FindByShipmentId(message.ShipmentId));
 }
 public void Handle(ShipmentDeliveredEvent @event)
 {
     Data.ShipmentId       = @event.ShipmentId;
     Data.ShipmentReceived = true;
     CompleteIfPossible();
 }