public static void PrintReceipt(Horeka.Data.Occupancy occupancy) { try { if (occupancy != null) { bool portExists = SerialPort.GetPortNames().Any(x => x == "COM7"); if (portExists) { printer = new SerialPrinter("COM7", 115200); e = new EPSON(); Setup(); printer.Write(Receipt.GetReceiptHeader(e, occupancy)); WriteProducts(occupancy); printer.Write(Receipt.GetReceiptFooter(e)); Setup(); printer.Write(e.PartialCutAfterFeed(10)); } else { throw new IOException("Port does not exist."); } } } catch (Exception e) { Console.WriteLine(e); throw; } }
static void WriteProducts(Horeka.Data.Occupancy occupancy) { int i = 0; foreach (Horeka.Data.Sale sale in occupancy.Sales) { i++; printer.Write(Receipt.GetReceiptProduct(e, sale, i)); } }
public static byte[] GetReceiptHeader(ICommandEmitter e, Horeka.Data.Occupancy occupancy) => ByteSplicer.Combine( e.CenterAlign(), e.PrintLine("HOREKA APPLICATIE"), e.PrintLine(), e.PrintLine(), e.PrintLine("Odisee Brussel"), e.PrintLine("Warmoesberg 26"), e.PrintLine("Belgium, Brussels, 1000"), e.PrintLine("0496/12.12.12"), e.SetStyles(PrintStyle.Underline), e.PrintLine("www.odisee.be"), e.SetStyles(PrintStyle.None), e.PrintLine(), e.LeftAlign(), e.PrintLine($"Order: {occupancy.ID}"), e.PrintLine(), e.PrintLine() );