void printerStatusTimer_Tick(object sender, EventArgs e)
 {
     SeatManage.EnumType.Printer status = PrintStatusHandle();
     if (PrinterException != null)
     {
         PrinterException(status);
     }
 }
        /// <summary>
        /// 执行打印操作
        /// </summary>
        /// <param name="_PrintType"></param>
        /// <param name="data"></param>
        public void Print(PrintStatus printType, PrintData data, string clientNo)
        {
            SeatManage.EnumType.Printer printerStatus = PrintStatusHandle();
            TerminalInfoV2 term = SeatManage.Bll.TerminalOperatorService.GetTeminalSetting(clientNo);

            if (printerStatus == SeatManage.EnumType.Printer.NoPaper)
            {
                if (term.PrinterStatus == true)
                {
                    term.PrinterStatus  = false;
                    term.LastPrintTimes = term.PrintedTimes;
                    term.PrintedTimes   = 0;
                    SeatManage.Bll.TerminalOperatorService.UpdateTeminalSetting(term);
                }
                if (PrinterException != null)
                {
                    PrinterException(SeatManage.EnumType.Printer.NoPaper);
                }
                return;
            }
            else if (printerStatus == SeatManage.EnumType.Printer.Normal)
            {
                term.PrinterStatus            = true;
                term.DeviceSetting.IsAnyPaper = true;
            }

            _PrintType = printType;
            printData  = data;
            XmlDocument doc = new XmlDocument();//原模板

            doc.LoadXml(GetPrintTemplate());
            PrintDocument pd = new PrintDocument();                   //打印操作的对象

            pd.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0); //设置边距
            switch (PrintType)
            {
            //根据凭条的类型,在模板前增加【预约】或【等待】字样的节点
            case PrintStatus.General:
                newDoc = doc;
                break;

            case PrintStatus.Book:
                newDoc = InsertXmlNode(PrintStatus.Book, doc);
                break;

            case PrintStatus.Wait:
                newDoc = InsertXmlNode(PrintStatus.Wait, doc);
                break;
            }
            pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
            pd.Print();
            term.PrintedTimes++;
            SeatManage.Bll.TerminalOperatorService.UpdateTeminalSetting(term);
        }
        XmlDocument newDoc = null;//最终的模板

        /// <summary>
        /// 根据模板打印
        /// </summary>
        public void Print()
        {
            // PrintTemplate ="";
            newDoc = new XmlDocument();                               //原模板
            newDoc.LoadXml(PrintTemplate);
            PrintDocument pd = new PrintDocument();                   //打印操作的对象

            pd.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0); //设置边距

            SeatManage.EnumType.Printer printerStatus = PrintStatusHandle();
            TerminalInfoV2 term = SeatManage.Bll.TerminalOperatorService.GetTeminalSetting(MediaPlayer.Code.PlayerSetting.DeviceNo);

            if (printerStatus == SeatManage.EnumType.Printer.NoPaper)
            {
                if (term.PrinterStatus == true)
                {
                    term.PrinterStatus  = false;
                    term.LastPrintTimes = term.PrintedTimes;
                    term.PrintedTimes   = 0;
                    SeatManage.Bll.TerminalOperatorService.UpdateTeminalSetting(term);
                }
                if (PrinterException != null)
                {
                    PrinterException(SeatManage.EnumType.Printer.NoPaper);
                }
                return;
            }
            pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
            pd.Print();
            if (term != null)
            {
                if (term.PrinterStatus == false)
                {
                    term.PrinterStatus = true;
                }
                term.PrintedTimes++;
                SeatManage.Bll.TerminalOperatorService.UpdateTeminalSetting(term);
            }
        }
 public string UpPrintStatus(string teminalNo, SeatManage.EnumType.Printer printerStatus)
 {
     throw new NotImplementedException();
 }