using Inspectron.Epson.PrintServer.Printers.Utils; using Inspectron.Epson.Templates.Configuration; namespace Inspectron.Epson.Templates; public class TemplateReceiptConverterFactory : IReceiptConverterFactory { private readonly TemplateEngine _engine; private readonly PrinterProfileRegistry _profileRegistry; public TemplateReceiptConverterFactory(TemplateEngine engine, PrinterProfileRegistry profileRegistry) { _engine = engine ?? throw new ArgumentNullException(nameof(engine)); _profileRegistry = profileRegistry ?? throw new ArgumentNullException(nameof(profileRegistry)); } public IReceiptConverter Create(int receiptType, byte printerId) { var profile = _profileRegistry.GetProfile(printerId); return new TemplateReceiptConverter(_engine, receiptType, profile); } }