static void Main(string[] args)
        {
            Order order = new Order()
            {
                Items    = new List <OrderItem>(),
                Customer = new CustomerInfo()
                {
                    Email = "*****@*****.**", Name = "jack", Phone = "13671241939"
                }
            };

            order.Items.Add(new OrderItem()
            {
                Number = 10, Product = new Product()
                {
                    Name = "自行车配件", Price = 500
                }
            });
            order.Items.Add(new OrderItem()
            {
                Number = 5, Product = new Product()
                {
                    Name = "自行车配件", Price = 300
                }
            });


            OrderExamineApproveManager approveManager = OrderExamineApproveManager.CreateFlows();
            Stream          stream = File.Open(@"D:\orderChecks.xml", FileMode.OpenOrCreate);
            BinaryFormatter format = new BinaryFormatter();

            format.Serialize(stream, approveManager);
            stream.Close();
            stream.Dispose();

            Stream          stream1       = File.Open(@"D:\orderChecks.xml", FileMode.Open);
            BinaryFormatter forma1t       = new BinaryFormatter();
            var             approveFlows1 = forma1t.Deserialize(stream1) as OrderExamineApproveManager;

            approveFlows1.RunFlows(order);
            stream1.Close();
            stream1.Dispose();


            Stream          stream2   = File.Open(@"D:\orderChecks.xml", FileMode.OpenOrCreate);
            BinaryFormatter formatter = new BinaryFormatter();

            formatter.Serialize(stream2, approveFlows1);
            stream2.Close();
            stream2.Dispose();
        }
        /// <summary>
        /// 订单审批管理器
        /// </summary>
        /// <returns></returns>
        public static OrderExamineApproveManager CreateFlows()
        {
            OrderExamineApproveManager result = new OrderExamineApproveManager();
            Infomationer infomationer         = new Infomationer();

            result.Flows += infomationer.CheckPrices;
            result.Flows += infomationer.CheckNumber;

            BusinessManager businessManager = new BusinessManager();

            result.Flows += businessManager.CallPhoneConfirm;
            result.Flows += businessManager.SendEmailNotice;


            GeneralManager generalManager = new GeneralManager();

            result.Flows += generalManager.FinalConfirm;
            result.Flows += generalManager.SignAndRecord;
            return(result);
        }