Exemplo n.º 1
0
 public override void Submit(ref OrderState state)
 {
     //An order must have at least one order item
     if (!_orderHeader.OrderItems.Any())
     {
         throw new InvalidOrderStateException("A new order must have at least one item before it can be submitted.");
     }
     state = new OrderPending(_orderHeader);
 }
        private void setState(int stateId)
        {
            switch (stateId)
            {
            case 1:
                _state = new OrderNew(this);
                break;

            case 2:
                _state = new OrderPending(this);
                break;

            case 3:
                _state = new OrderRejected(this);
                break;

            case 4:
                _state = new OrderComplete(this);
                break;

            default:
                throw new InvalidOrderStateException("Invalid StateId detected");
            }
        }
Exemplo n.º 3
0
 public override void Submit(ref OrderState state)
 {
     throw new InvalidOrderStateException("A pending order cannot be submitted again");
 }
Exemplo n.º 4
0
 public override void Reject(ref OrderState state)
 {
     state = new OrderRejected(_orderHeader);
 }
Exemplo n.º 5
0
 public override void Complete(ref OrderState state)
 {
     state = new OrderComplete(_orderHeader);
 }
Exemplo n.º 6
0
 public override void Reject(ref OrderState state)
 {
     throw new InvalidOrderStateException("A new order must be submitted (pending) before it can be rejected");
 }