namespace EpsonReceiptPrinter;

public sealed class Receipt
{
    public string? Header { get; set; }
    public string? SubHeader { get; set; }
    public List<ReceiptLine> Lines { get; } = new();
    public string? Footer { get; set; }
    public bool CutPaper { get; set; } = true;
    public int PaperWidthCharacters { get; set; } = 42;
}

public sealed class ReceiptLine
{
    public ReceiptLine()
    {
    }

    public ReceiptLine(string left, string? right = null, bool emphasize = false, TextSize textSize = TextSize.Normal)
    {
        Left = left;
        Right = right;
        Emphasize = emphasize;
        TextSize = textSize;
    }

    public string Left { get; set; } = string.Empty;
    public string? Right { get; set; }
    public bool Emphasize { get; set; }
    public TextSize TextSize { get; set; } = TextSize.Normal;
}
