using CsvHelper.Configuration.Attributes;

namespace PowderCoating.Application.DTOs.Import;

/// <summary>
/// DTO for importing journal entry headers from CSV. Column names match the native journal-entries
/// export (ExportJournalEntriesCsv). The debit/credit lines import separately via
/// JournalEntryLineImportDto and must balance per entry.
/// </summary>
public class JournalEntryImportDto
{
    [Name("EntryNumber")]
    public string? EntryNumber { get; set; }

    [Name("EntryDate")]
    public DateTime EntryDate { get; set; }

    [Name("Reference")]
    public string? Reference { get; set; }

    [Name("Description")]
    public string? Description { get; set; }

    /// <summary>Valid values: Draft, Posted, Reversed</summary>
    [Name("Status")]
    public string Status { get; set; } = "Draft";
}
