using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;

namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
{
    public class DisableScore : EntityBase
    {
        [Required, MaxLength(50), Comment("เลขประจำตัวสอบ")]
        public string ExamId { get; set; }

		[Comment("ภาคความรู้ความสามารถที่ใช้เฉพาะตำแหน่ง คะแนนรวม")]
        public double SumA { get; set; }

		[Comment("ภาคความรู้ความสามารถที่ใช้เฉพาะตำแหน่ง คะแนนเต็ม")]
        public int FullA { get; set; }

		[Comment("ภาคความรู้ความสามารถที่ใช้เฉพาะตำแหน่ง ร้อยละ")]
        public double PercentageA { get; set; }

        [MaxLength(50), Comment("ภาคความรู้ความสามารถที่ใช้เฉพาะตำแหน่ง ผลประเมิน")]
        public string AStatus { get; set; }

        public double? SumB { get; set; }

        public int? FullB { get; set; }

        public double? PercentageB { get; set; }

        [MaxLength(50)]
        public string? BStatus { get; set; }

        [Comment("ภาคความรู้ความสามารถที่ใช้เฉพาะตำแหน่ง คะแนนรวม")]
        public double SumAB { get; set; }

        [Required, MaxLength(50), Comment("ภาคความรู้ความสามารถที่ใช้เฉพาะตำแหน่ง ผลประเมิน")]
        public string ABStatus { get; set; }

        [Comment("ภาคความเหมาะสมกับตำแหน่ง ทดสอบสมรรถนะ+ทดสอบจิตวิทยาฯ คะแนนรวม")]
        public double SumC { get; set; }

        [Comment("ภาคความเหมาะสมกับตำแหน่ง ทดสอบสมรรถนะ+ทดสอบจิตวิทยาฯ คะแนนเต็ม")]
        public int FullC { get; set; }

        [Comment("ภาคความเหมาะสมกับตำแหน่ง ร้อยละ")]
        public double PercentageC { get; set; }

        [MaxLength(50), Comment("ภาคความเหมาะสมกับตำแหน่ง ผลประเมิน")]
        public string CStatus { get; set; }

        [Comment("ภาคความเหมาะสมกับตำแหน่ง สัมภาษณ์ คะแนนรวม")]
        public double SumD { get; set; }

        [Comment("ภาคความเหมาะสมกับตำแหน่ง สัมภาษณ์ คะแนนเต็ม")]
        public int FullD { get; set; }

        [Comment("ภาคความเหมาะสมกับตำแหน่ง คะแนนรวมทดสอบสมรรถนะ+ทดสอบจิตวิทยาฯ และสัมภาษณ์")]
        public double SumCD { get; set; }

        [Comment("คะแนนรวม")]
        public double TotalScore { get; set; }

        [Comment("คะแนนเต็ม")]
        public int FullScore { get; set; }

        [Required, MaxLength(50), Comment("สอบได้ / ตก / ขาดสอบ")]
        public string ExamStatus { get; set; }

        [MaxLength(200)]
        public string Major { get; set; }

        [MaxLength(200), Comment("ลำดับที่สอบได้")]
        public string Number { get; set; } = string.Empty;

        [MaxLength(13), Comment("เลขประจำตัวประชาชน")]
        public string CitizenId { get; set; } = string.Empty;

        [Comment("หมายเหตุจากบัญชีรวมคะแนน")]
        public string RemarkScore { get; set; } = string.Empty;

        [Comment("หมายเหตุจากลำดับที่สอบได้")]
        public string RemarkExamOrder { get; set; } = string.Empty;

        public ScoreImport ScoreImport { get; set; }
    }
}
