using Lada.Framework.DTO;

namespace Ladaer.BackEnd.Infrastructures.DTO.Results.Finance
{
    /// <summary>
    /// Kết quả xuất Excel thông tin đơn hàng
    /// </summary>
    public class ExportOrderResult : BaseResult
    {
        /// <summary>
        /// Đường dẫn file Excel đã tạo
        /// </summary>
        public string FilePath { get; set; } = string.Empty;

        /// <summary>
        /// Tên file Excel
        /// </summary>
        public string FileName { get; set; } = string.Empty;

        /// <summary>
        /// URL để download file (nếu có)
        /// </summary>
        public string DownloadUrl { get; set; } = string.Empty;

        /// <summary>
        /// Kích thước file (bytes)
        /// </summary>
        public long FileSize { get; set; }

        /// <summary>
        /// Số lượng đơn hàng đã xuất
        /// </summary>
        public int TotalOrders { get; set; }

        /// <summary>
        /// Số lượng đơn hàng không tìm thấy
        /// </summary>
        public int NotFoundOrders { get; set; }

        /// <summary>
        /// Danh sách mã đơn hàng không tìm thấy
        /// </summary>
        public List<string> NotFoundOrderCodes { get; set; } = new List<string>();

        /// <summary>
        /// Thời gian tạo file
        /// </summary>
        public DateTimeOffset CreatedTime { get; set; } = DateTimeOffset.Now;

        /// <summary>
        /// Thông tin tóm tắt kết quả
        /// </summary>
        public string Summary => $"Đã xuất {TotalOrders} đơn hàng. {(NotFoundOrders > 0 ? $"Không tìm thấy {NotFoundOrders} đơn hàng." : "")}";
    }
}
