Files
Print_server/Inspectron.Epson/PrintServer/Printers/Utils/ReceiptConverterFactory.cs
2026-04-09 10:42:31 +02:00

36 lines
1.3 KiB
C#

using Inspectron.Epson.PrintServer.Printers.Utils.BarReceipt;
using Inspectron.Epson.PrintServer.Printers.Utils.InvoiceReceipt;
using Inspectron.Epson.PrintServer.Printers.Utils.OrderItems;
namespace Inspectron.Epson.PrintServer.Printers.Utils;
public class ReceiptConverterFactory : IReceiptConverterFactory
{
public IReceiptConverter Create(int receiptType, byte printerId)
{
return (EReceiptType)receiptType switch
{
EReceiptType.Receipt => new FinalReceipt.FinalReceiptConverter(48, 24),
EReceiptType.WorkareaTicket => printerId switch
{
//0x01=>new BarReceiptConverterAdapter(48, 24),
0x01 => new KitchenReceipt.KitchenReceiptConverterAdapter(48, 24),
_ => new KitchenReceipt.KitchenReceiptConverterAdapter(33, 20),
},
EReceiptType.NextCourse => new KitchenReceipt.KitchenReceiptConverterAdapter(33, 20),
EReceiptType.OrdersOverview => new OrderItemsReceiptConverter(48, 24),
EReceiptType.Invoice => new InvoiceReceiptConverter(48, 24),
_ => throw new ArgumentException($"Unknown receipt type: {receiptType}")
};
}
public enum EReceiptType
{
Receipt,
WorkareaTicket,
NextCourse,
OrdersOverview,
Invoice
}
}