using Lada.Framework.DTO;

namespace Ladaer.BackEnd.Infrastructures.DTO.Results.FuelCards
{
    /// <summary>
    /// Kết quả xuất Excel báo cáo đổ dầu theo lái xe
    /// </summary>
    public class FuelRefillReportExcelResult : BaseResult
    {
        /// <summary>
        /// Đường dẫn file Excel đã tạo
        /// </summary>
        public string? FilePath { get; set; }

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

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

        /// <summary>
        /// Tổng số bản ghi đã xuất
        /// </summary>
        public int TotalRecords { get; set; }

        /// <summary>
        /// URL download file
        /// </summary>
        public string? DownloadUrl { get; set; }

        /// <summary>
        /// Thời gian bắt đầu xử lý
        /// </summary>
        public DateTimeOffset ProcessStartTime { get; set; }

        /// <summary>
        /// Thời gian kết thúc xử lý
        /// </summary>
        public DateTimeOffset ProcessEndTime { get; set; }

        /// <summary>
        /// Thời gian xử lý (ms)
        /// </summary>
        public long ProcessingTimeMs => (ProcessEndTime - ProcessStartTime).TotalMilliseconds > 0 
            ? (long)(ProcessEndTime - ProcessStartTime).TotalMilliseconds 
            : 0;
    }
}
