namespace PrintServiceTray.Models; /// /// Configuration for all document types /// public class PrinterConfiguration { public Dictionary DocumentTypes { get; set; } = new(); } /// /// Configuration for a single document type /// public class DocumentTypeConfig { public string Name { get; set; } = string.Empty; public List Pages { get; set; } = new(); // Rust transformation properties (optional - can be edited in JSON directly) public int LinePadding { get; set; } = 0; public bool RemoveOrderNumber { get; set; } = false; public bool RemoveOrderNumberLabel { get; set; } = false; public string IndentOrderNumber { get; set; } = string.Empty; public Dictionary RowShift { get; set; } = new(); public Dictionary RowTrim { get; set; } = new(); } /// /// Configuration for a single page /// public class PageConfig { public int PageNumber { get; set; } public string PrinterName { get; set; } = string.Empty; public int TrayNumber { get; set; } public string? TrayLabel { get; set; } // Optional: "Pink Paper", "Green Paper", etc. } /// /// Configuration for row trimming (horizontal character removal) /// public class RowTrimConfig { public int Start { get; set; } public int End { get; set; } }