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; }
}