예제 #1
0
파일: Order.cs 프로젝트: GunioRobot/cqrs
        public void Cancel()
        {
            switch (_state)
            {
                case OrderState.Cancelled:
                    return;
                case OrderState.Paid:
                    throw new InvalidStateException("You can't cancel this order. It has already been paid.");
            }

            var e = new OrderCancelled(Id);
            ApplyChange(e);
        }
예제 #2
0
파일: Given.cs 프로젝트: GunioRobot/cqrs
 public void GivenIHaveCancelledTheOrder()
 {
     var orderId = EventSourceHelper.GetId<Order>();
     var e = new OrderCancelled(orderId);
     GivenHelper.Given(orderId, e);
 }
예제 #3
0
파일: Order.cs 프로젝트: GunioRobot/cqrs
 private void Apply(OrderCancelled e)
 {
     _state = OrderState.Cancelled;
 }