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

namespace Ladaer.BackEnd.Infrastructures.DTO.Models.Trucks
{
    /// <summary>
    /// Model cho việc nhận/trả xe tải
    /// </summary>
    public class TruckCheckInOutModel : BaseModel<int>
    {
        /// <summary>
        /// ID xe tải
        /// </summary>
        [Required(ErrorMessage = "ID xe tải là bắt buộc")]
        public int TruckId { get; set; }

        /// <summary>
        /// ID đại lý (tự động lấy từ thông tin người dùng)
        /// </summary>
        public int AgencyId { get; set; }

        /// <summary>
        /// Ghi chú
        /// </summary>
        [MaxLength(1024)]
        public string? Note { get; set; } = string.Empty;

        /// <summary>
        /// Số ODO hiện tại của xe (bắt buộc, >= 0)
        /// </summary>
        [Required(ErrorMessage = "Số ODO hiện tại là bắt buộc")]
        [Range(0, int.MaxValue, ErrorMessage = "Số ODO phải >= 0")]
        public int CurrentOdo { get; set; }

        /// <summary>
        /// Danh sách file hình ảnh upload
        /// </summary>
        public List<IFormFile>? Files { get; set; }
    }
}
