AcaMate_API/Program/Models/Entities/Class.cs
SEAN-59 82d8afcfb7 [] Class 관련 로직 추가
1. 컨트롤러, 서비스(인터페이스), 레포지토리(인터페이스) 추가
2. scoped 등록
3. 클래스 관련 모델 등록
4. ClassInfo API 등록
2025-06-20 17:59:03 +09:00

68 lines
2.2 KiB
C#

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Back.Program.Models.Entities;
[Table("class_info")]
public class Class_Info
{
[Required(ErrorMessage = "필수 항목 누락")]
[MaxLength(10)]
public required string id { get; set; } // AMC + 4숫자 + 3대문자
[Required(ErrorMessage = "필수 항목 누락")]
[MaxLength(100)]
public required string name { get; set; }
[Required(ErrorMessage = "필수 항목 누락")]
[MaxLength(70)]
public required string uid { get; set; } // 담당 선생님 구분 코드
[Required(ErrorMessage = "필수 항목 누락")]
public required DateTime start_date { get; set; }
public DateTime? end_date { get; set; }
[Required(ErrorMessage = "필수 항목 누락")]
public required byte day { get; set; } // 수업 요일 비트 (월요일부터 가장 좌측 비트)
[Required(ErrorMessage = "필수 항목 누락")]
[MaxLength(4)]
public required string start_time { get; set; } // 수업 시작 시간
[Required(ErrorMessage = "필수 항목 누락")]
[MaxLength(4)]
public required string end_time { get; set; } // 수업 종료 시간
}
[Table("class_map")]
public class Class_Map
{
[Key]
[Required(ErrorMessage = "필수 항목 누락")]
[MaxLength(10)]
public required string cid { get; set; } // 강의 구분 코드
[Required(ErrorMessage = "필수 항목 누락")]
[MaxLength(70)]
public required string uid { get; set; } // 학생(유저) 구분 코드
}
[Table("class_attendance")]
public class Class_Attendance
{
[Key]
[Required(ErrorMessage = "필수 항목 누락")]
[MaxLength(10)]
public required string cid { get; set; } // 강의 구분 코드
[Required(ErrorMessage = "필수 항목 누락")]
[MaxLength(70)]
public required string uid { get; set; } // 학생(유저) 구분 코드
[Required(ErrorMessage = "필수 항목 누락")]
public required DateTime attendace_date { get; set; } // 출석 일자
[Required(ErrorMessage = "필수 항목 누락")]
public required byte attendance_state { get; set; } // 출석 상태 (0=출석, 1=결석, 2=지각, 3=조퇴, 4=기타)
}