Exemplo n.º 1
0
 public override void Submit(ref OrderState state)
 {
     //business rule: an order must has at least one order item
     if (!_orderHeader.OrderItems.Any())
     {
         throw new InvalidOperationException("A new order must have at least one item before it can be submitted");
     }
     state = new OrderPending(_orderHeader);
 }
Exemplo n.º 2
0
 public abstract void Reject(ref OrderState state);
Exemplo n.º 3
0
 public abstract void Complete(ref OrderState state);
Exemplo n.º 4
0
 public abstract void Submit(ref OrderState state);
Exemplo n.º 5
0
 public override void Submit(ref OrderState state)
 {
     throw new InvalidOperationException("A rejected can't be submitted");
 }
Exemplo n.º 6
0
 public override void Reject(ref OrderState state)
 {
     throw new InvalidOperationException("This order is already rejected");
 }
Exemplo n.º 7
0
 public override void Complete(ref OrderState state)
 {
     throw new InvalidOperationException("A reject order can't be completed");
 }
Exemplo n.º 8
0
 public override void Reject(ref OrderState state)
 {
     throw new InvalidOperationException("A completed can't be rejected");
 }
Exemplo n.º 9
0
 public override void Complete(ref OrderState state)
 {
     throw new InvalidOperationException("This order is already completed");
 }
Exemplo n.º 10
0
 public override void Reject(ref OrderState state)
 {
     throw new InvalidOperationException("Order must be submitted (pending) before it can be rejected");
 }
Exemplo n.º 11
0
 public override void Submit(ref OrderState state)
 {
     //NO-OP
 }
Exemplo n.º 12
0
 public override void Reject(ref OrderState state)
 {
     state = new OrderRejected(_orderHeader);
 }
Exemplo n.º 13
0
 public override void Complete(ref OrderState state)
 {
     state = new OrderComplete(_orderHeader);
 }