コード例 #1
0
ファイル: ElzabDriver.cs プロジェクト: MakoLab/fractus
        /// <summary>
        /// Prints the bill.
        /// </summary>
        /// <param name="bill">The xml representation of bill.</param>
        ///
        ///
        public void PrintBill(XmlDocument bill)
        {
            ProcessBill(bill);

            StringBuilder errorMessage = null;

            lock (MakoPrintFiscal.SerialPortSyncRoot)
            {
                //inicjalizacja portu
                if ((errorMessage = ElzabLibWrapper.LibCommunicationInit(portName, 9600, 5)) != null)
                {
                    HandleError(errorMessage.ToString());
                }

                // ustawienie numeru kasy i kasjera
                SetCashierCode();


                //rozpoczecie paragonu
                if ((errorMessage = ElzabLibWrapper.LibReceiptBegin()) != null)
                {
                    HandleError(errorMessage.ToString());
                }

                //linie paragonu
                for (int i = 0; i < receitLines.Count; i++)
                {
                    ReceiptLine rLine = (ReceiptLine)receitLines[i];
                    if ((errorMessage = ElzabLibWrapper.LibReceiptItem(rLine.name, rLine.vatRate, rLine.quantity, rLine.coma, rLine.measure, rLine.price, rLine.value)) != null)
                    {
                        HandleError(errorMessage.ToString());
                    }
                }


                // wydrukowanie numeru systemowego
                if ((errorMessage = ElzabLibWrapper.LibAdditionalLine(12, billNr)) != null)
                {
                    HandleError(errorMessage.ToString());
                }

                //zakonczenie paragonu
                if ((errorMessage = ElzabLibWrapper.LibReceiptEnd(0)) != null)
                {
                    HandleError(errorMessage.ToString());
                }


                //zamkniecie portu
                if ((errorMessage = ElzabLibWrapper.LibCommunicationEnd()) != null)
                {
                    HandleError(errorMessage.ToString());
                }
            }
        }
コード例 #2
0
ファイル: ElzabDriver.cs プロジェクト: MakoLab/fractus
        /// <summary>
        /// Prints the daily report.
        /// </summary>
        /// <param name="reportData"></param>
        public void PrintDailyReport(XmlDocument reportData)
        {
            StringBuilder errorMessage = null;

            lock (MakoPrintFiscal.SerialPortSyncRoot)
            {
                //inicjalizacja portu
                if ((errorMessage = ElzabLibWrapper.LibCommunicationInit(portName, 9600, 5)) != null)
                {
                    HandleError(errorMessage.ToString());
                }

                if ((errorMessage = ElzabLibWrapper.LibDailyReport(1)) != null)
                {
                    HandleError(errorMessage.ToString());
                }

                //zamkniecie portu
                if ((errorMessage = ElzabLibWrapper.LibCommunicationEnd()) != null)
                {
                    HandleError(errorMessage.ToString());
                }
            }
        }