using Lada.Framework.DTO;
using System.ComponentModel.DataAnnotations;

namespace Ladaer.BackEnd.Infrastructures.DTO.Models.Finance
{
    /// <summary>
    /// Model để tạo hóa đơn thanh toán chuyển khoản
    /// </summary>
    public class CreateTransferPaymentBillModel : BaseModel<int>
    {
        /// <summary>
        /// ID khách hàng
        /// </summary>
        [Required(ErrorMessage = "Khách hàng là bắt buộc")]
        public int CustomerId { get; set; }

        /// <summary>
        /// Danh sách ID đơn hàng
        /// </summary>
        [Required(ErrorMessage = "Danh sách đơn hàng là bắt buộc")]
        [MinLength(1, ErrorMessage = "Phải có ít nhất 1 đơn hàng")]
        public List<int> OrderIds { get; set; } = new List<int>();

        /// <summary>
        /// File ảnh chứng từ chuyển khoản (bắt buộc, đúng 1 ảnh)
        /// </summary>
        [Required(ErrorMessage = "Ảnh chứng từ chuyển khoản là bắt buộc")]
        public List<IFormFile> Files { get; set; } = new List<IFormFile>();

        /// <summary>
        /// Ghi chú
        /// </summary>
        [MaxLength(1024, ErrorMessage = "Ghi chú không được vượt quá 1024 ký tự")]
        public string? Note { get; set; } = string.Empty;

        /// <summary>
        /// Nội dung chuyển khoản
        /// </summary>
        [MaxLength(1024, ErrorMessage = "Thông tin chuyển khoản không được vượt quá 1024 ký tự")]
        public string? TransferInfo { get; set; } = string.Empty;

    }
}
