using System.Text.Json;

namespace Inspectron.Epson.PrintServer.Printers.Utils.OrderItems;

public class OrderItemsReceiptConverter : IReceiptConverter
{
    private readonly int _lineWidth;
    private readonly int _bigFontLineWidth;

    public OrderItemsReceiptConverter(int lineWidth, int bigFontLineWidth)
    {
        _lineWidth = lineWidth;
        _bigFontLineWidth = bigFontLineWidth;
    }

    public List<PrintCommand> Convert(string jsonContent)
    {
        var receipt = JsonSerializer.Deserialize<OrderItemsReceipt>(jsonContent);
        var converter = new ReceiptConverter(_lineWidth, _bigFontLineWidth);
        return converter.ConvertToPrintCommands(receipt);
    }
}
