public void Print(ClientHelper clientHelper, DocumentType documentType) { if (documentType == DocumentType.Service) PrintServiceDocumentString(clientHelper); else PrintFiscalDocumentString(clientHelper); }
private void PrintServiceDocumentString(ClientHelper clientHelper) { var request = new Request(0x40) .Append(value, exactLength, justification) .Append(textAttributes); clientHelper.Client.GetResponse(request); }
public void Print(ClientHelper clientHelper, DocumentType documentType) { var request = new Request(0x41) .Append(printText ? 2 : 0) .Append(2) .Append(80) .Append(2) .Append(data); clientHelper.Client.GetResponse(request); }
private EcrStatusFlags StartOrWork(ClientHelper clientHelper) { var ecrFlags = GetEcrFlags(clientHelper.Client); if (ecrFlags.CurrentStatus.StartOfWorkHasNotBeenCalled) { var request = new Request(0x10) .Append(DateTime.Now, false) .Append(DateTime.Now, true); try { clientHelper.Client.GetResponse(request); } catch (ProtocolException e) { if (e.ErrorCode != 0x0B) throw; } } return ecrFlags; }
private void SetTableString(ClientHelper clientHelper, Int32 tableNumber, Int32 tableRow, String value, out Int32 errorCode) { if (value == null) value = String.Empty; try { var request = new Request(0x12) .Append(tableNumber) .Append(tableRow) .Append(value, 40); clientHelper.Client.GetResponse(request); errorCode = Constants.E_SUCCESS; } catch (KeyNotFoundException) { errorCode = Constants.E_NOT_FOUND; } catch (TimeoutException) { errorCode = Constants.E_TIMEOUT; } catch (ProtocolException e) { errorCode = e.ErrorCode == 0x0F ? Constants.E_SUCCESS : e.ErrorCode; } }
private void AddPayment(ClientHelper clientHelper, Int32 paymentType, Int32 amount) { var request = new Request(0x47) .Append(paymentType) .Append((Decimal)amount / 100) .Append(String.Empty); clientHelper.Client.GetResponse(request); }
private void SetDateTime(ClientHelper clientHelper, Boolean repeatOnError) { try { var request = new Request(0x14) .Append(DateTime.Today, false) .Append(DateTime.Now, true); clientHelper.Client.GetResponse(request); } catch (ProtocolException e) { if (e.ErrorCode == 0x0A && repeatOnError) { SetDateTime(clientHelper, false); return; } throw; } }
private void PrintOrMakeBuffering(ClientHelper clientHelper, IBufferedItem item) { var documentType = GetEcrFlags(clientHelper.Client).DocumentStatus.Type; if (documentType == DocumentType.None) { clientHelper.BufferedItems.Add(item); } else { item.Print(clientHelper, documentType); } }
private void PrintBufferedItems(DocumentType documentType, ClientHelper clientHelper) { try { foreach (var item in clientHelper.BufferedItems) { item.Print(clientHelper, documentType); } } finally { clientHelper.BufferedItems.Clear(); } }
private void CloseDocument(ClientHelper clientHelper) { clientHelper.Client.GetResponse(new Request(0x31).Append(0)); }
private void OpenDocument(ClientHelper clientHelper, DocumentType documentType, Int32 deptNo) { var ecrFlags = StartOrWork(clientHelper); if (ecrFlags.DocumentStatus.Type == DocumentType.None) { var request = new Request(0x30) .Append((Int32)documentType) .Append(deptNo) .Append(clientHelper.CashierName, Cashier_Name_Len) .Append(0); clientHelper.Client.GetResponse(request); PrintBufferedItems(documentType, clientHelper); } }