using Lada.Framework.DTO;
using Lada.Framework.Infrastructures.Helpers;

namespace Ladaer.BackEnd.Infrastructures.DTO.Models.Finance
{
    /// <summary>
    /// Model xuất Excel danh sách đơn hàng nợ cước của khách hàng
    /// </summary>
    public class CustomerTransferableOrdersExcelExportModel : BaseModel<int>
    {
        /// <summary>
        /// ID khách hàng
        /// </summary>
        public int CustomerId { get; set; }

        /// <summary>
        /// Tên file Excel (không bao gồm extension)
        /// </summary>
        public string? FileName { get; set; }

        /// <summary>
        /// Có bao gồm thông tin khách hàng không
        /// </summary>
        public bool IncludeCustomerInfo { get; set; } = true;

        /// <summary>
        /// Có bao gồm thông tin địa chỉ không
        /// </summary>
        public bool IncludeAddressInfo { get; set; } = true;

        /// <summary>
        /// Có bao gồm thông tin trạng thái không
        /// </summary>
        public bool IncludeStatusInfo { get; set; } = true;

        /// <summary>
        /// Có bao gồm thông tin tài chính không
        /// </summary>
        public bool IncludeFinancialInfo { get; set; } = true;

        /// <summary>
        /// Đường dẫn thư mục lưu file (tùy chọn)
        /// </summary>
        public string? FolderPath { get; set; }

        /// <summary>
        /// Validate model
        /// </summary>
        public List<string> Validate()
        {
            var errors = new List<string>();

            if (CustomerId <= 0)
            {
                errors.Add("ID khách hàng không hợp lệ");
            }

            return errors;
        }
    }
}
