public override void Process(Order order) { Console.WriteLine("我们开始受理,准备备货!"); if (order.Minute <= 30 && order.IsCanceled) { Console.WriteLine("30分钟内可以退货.."); order.SetState(new CancelOrder()); order.Action(); } order.SetState(new AcceptAndDeliver()); order.TaskFinished = false; order.Action(); }
public override void Process(Order order) { Console.WriteLine("请仔细检查货物,确认没问题后签收!"); order.SetState(new Success()); order.TaskFinished = false; order.Action(); }
public override void Process(Order order) { Console.WriteLine("我们开始准备发货.."); if (order.Minute <= 30 && order.IsCanceled) { Console.WriteLine("30分钟内可以取消订单.."); order.SetState(new CancelOrder()); order.TaskFinished = true; order.Action(); } if (!order.TaskFinished) { order.SetState(new ConfirmationReceipt()); order.Action(); } }