using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Recurit.Exam.Service.Models;

namespace BMA.EHR.Domain.Models.Placement
{
    public class Placement : EntityBaseNoIsActive
    {
        [Required, Comment("รอบการสอบ")]
        public string Name { get; set; } = string.Empty;
        [Comment("ครั้งที่")]
        public string Round { get; set; } = string.Empty;
        [Required, Comment("ปีงบประมาณ"), MaxLength(5)]
        public int Year { get; set; }
        [Required, Comment("จำนวนผู้สอบได้"), MaxLength(10)]
        public int Number { get; set; } = 0;
        [Required, Comment("ประเภทการสอบ")]
        public required PlacementType PlacementType { get; set; }
        [Required, Comment("วันที่เริ่มบัญชีบัญชี")]
        public DateTime StartDate { get; set; }
        [Required, Comment("วันที่สิ้นสุดบัญชี")]
        public DateTime EndDate { get; set; }

        [Comment("สถานะการใช้งาน")]
        public bool IsActive { get; set; } = true;
        public virtual List<PlacementProfile> PlacementProfiles { get; set; } = new List<PlacementProfile>();
    }
}
