using Lada.Framework.DTO;

namespace Ladaer.BackEnd.Infrastructures.DTO.Results.FuelCards;

/// <summary>
/// Kết quả trả về sau khi import lịch sử giao dịch thẻ xăng dầu
/// </summary>
public class FuelCardTransactionImportResult : BaseResult
{
    /// <summary>
    /// Tổng số dòng trong file Excel
    /// </summary>
    public int TotalRows { get; set; }

    /// <summary>
    /// Số dòng xử lý thành công
    /// </summary>
    public int ProcessedRows { get; set; }

    /// <summary>
    /// Số dòng lỗi
    /// </summary>
    public int ErrorRows { get; set; }

    /// <summary>
    /// Số dòng bỏ qua (không có số thẻ, dữ liệu thiếu...)
    /// </summary>
    public int SkippedRows { get; set; }

    /// <summary>
    /// Số dòng trùng lặp (đã có trong hệ thống)
    /// </summary>
    public int DuplicateRows { get; set; }

    /// <summary>
    /// Số thẻ trong file không tìm thấy trong hệ thống
    /// </summary>
    public int UnknownCardsCount { get; set; }

    /// <summary>
    /// Danh sách số thẻ không tìm thấy trong hệ thống
    /// </summary>
    public List<string> UnknownCards { get; set; } = new();

    /// <summary>
    /// Danh sách thông báo lỗi chi tiết theo từng dòng
    /// </summary>
    public List<string> ErrorMessages { get; set; } = new();

    /// <summary>
    /// Danh sách cảnh báo (không nghiêm trọng)
    /// </summary>
    public List<string> Warnings { get; set; } = new();

    /// <summary>
    /// Tổng số tiền đã import
    /// </summary>
    public decimal TotalAmountImported { get; set; }
}
