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(); }