コード例 #1
0
        private async Task PrintPdfReceipt(CashRegisterReceipt receipt)
        {
            // there are no options available for pdf printer.

            // prepare print context object without additional options.
            RegisterReceiptPrintContext printContext = RegisterReceiptPrintContext.CreatePdf();

            // wrap receipt to request
            RegisterCashRegisterReceiptRequest receiptRequest = new RegisterCashRegisterReceiptRequest(receipt);

            // and register receipt
            RegisterReceiptResult result = await client.RegisterReceiptAsync(receiptRequest, printContext, CancellationToken.None);

            // PDF file is created now.
            // by default, its location is : "C:/ProgramData/NineDigit/Portos.eKasa/receipts"

            this.HandleReceiptRegistrationResult(result);
        }
コード例 #2
0
        private async Task PrintEmailReceipt(CashRegisterReceipt receipt)
        {
            // create printing options object from dictionary.
            EmailPrintingOptions printOptions = new EmailPrintingOptions()
            {
                // required parameter - recipients email address
                // please change this to some real email address
                To = "*****@*****.**",
                // optional recipient display name
                RecipientDisplayName = "John Brown",
                // optional parameter. this will override the "configuration.Printers.Email.Subject" for this specific receipt.
                Subject = "Your receipt, mr. Brown!",
                // optional parameter. This will override the "configuration.Printers.Email.Body" for this specific receipt.
                Body = "Thank you for your purchase."
            };

            // prepare print context object from printing options
            RegisterReceiptPrintContext printContext = RegisterReceiptPrintContext.CreateEmail(printOptions);

            // wrap receipt to request
            RegisterCashRegisterReceiptRequest receiptRequest = new RegisterCashRegisterReceiptRequest(receipt);

            // and register receipt
            RegisterReceiptResult result;

            try
            {
                result = await client.RegisterReceiptAsync(receiptRequest, printContext, CancellationToken.None);
            }
            catch (Exception ex)
            {
                throw new Exception("please setup your email configuration (SMTP server, ...) before sending emails.", ex);
            }

            this.HandleReceiptRegistrationResult(result);
        }
コード例 #3
0
        private async Task PrintPaperReceiptWithCustomOptions(CashRegisterReceipt receipt)
        {
            // we can override default client configuration with these options:
            PosPrintingOptions printOptions = new PosPrintingOptions()
            {
                // this will override the "configuration.Printers.Pos.Drawer.Enabled" for this specific receipt.
                OpenDrawer = false,
                // this will override the "configuration.Printers.Pos.Logo.Enabled" for this specific receipt.
                PrintLogo = true,
                // this will override the "configuration.Printers.Pos.Logo.MemoryAddress" for this specific receipt.
                LogoMemoryAddress = 2
            };

            // prepare print context object from printer name and printing options
            RegisterReceiptPrintContext printContext = RegisterReceiptPrintContext.CreatePos(printOptions);

            // wrap receipt to request
            RegisterCashRegisterReceiptRequest receiptRequest = new RegisterCashRegisterReceiptRequest(receipt);

            // and register receipt
            RegisterReceiptResult result = await client.RegisterReceiptAsync(receiptRequest, printContext, CancellationToken.None);

            this.HandleReceiptRegistrationResult(result);
        }