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