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

namespace Ladaer.BackEnd.Infrastructures.DTO.Models.FuelCards;

public class FuelCardModel : BaseModel<int>
{
    [Required(ErrorMessage = "Số thẻ là bắt buộc")]
    [MaxLength(50)]
    public string CardNumber { get; set; } = string.Empty;

    [MaxLength(256)]
    public string CardholderName { get; set; } = string.Empty;

    [MaxLength(256)]
    public string BankName { get; set; } = string.Empty;

    [MaxLength(50)]
    public string CardType { get; set; } = string.Empty;

    /// <summary>
    /// ID người phụ trách thẻ (nullable)
    /// </summary>
    public int? ResponsibleUserId { get; set; }

    public FuelCardStatus Status { get; set; } = FuelCardStatus.Active;

    public DateTimeOffset? ExpiryDate { get; set; }

    public decimal? CreditLimit { get; set; }

    [MaxLength(1024)]
    public string Notes { get; set; } = string.Empty;
}
