private void Complete()
        {
            if (this.Data.IsDone)
            {
                Console.WriteLine("Order {0} fulfilled.", this.Data.OrderId);

                var orderFulfilled = new OrderFulfilled
                {
                    OrderId    = this.Data.OrderId,
                    FacilityId = this.Data.FacilityId,
                    When       = this.Data.InstalledAt.Value,
                    Where      = this.Data.InstalledIn,
                };

                this.ReplyToOriginator(orderFulfilled);
            }
            else
            {
                Console.WriteLine("Order {0} delayed.", this.Data.OrderId);

                var orderDelayed = new OrderDelayed
                {
                    OrderId    = this.Data.OrderId,
                    FacilityId = this.Data.FacilityId,
                };
                this.ReplyToOriginator(orderDelayed);
            }

            this.MarkAsComplete();
        }
Exemple #2
0
 public Task Receive(OrderFulfilled @event, IMessageContext context)
 {
     TransitionState(@event, Fulfilled);
     return(CompletedTask);
 }