using System.ComponentModel.DataAnnotations;
namespace Domain.Entities.Stocks;
///
/// KRX 휴장일 (주말 제외 — 공휴일/임시휴장/연말휴장).
/// Admin 수동 관리 전제 (연 1회 등록). 수집 배치의 영업일 판정에 사용.
///
public class MarketHoliday
{
[Key]
public DateOnly Date { get; private set; }
/// 휴장 사유 (예: "설날", "연말 휴장일")
public string Name { get; private set; } = default!;
private MarketHoliday() { }
public static MarketHoliday Create(DateOnly date, string name)
{
if (string.IsNullOrWhiteSpace(name))
{
throw new ArgumentException("name required", nameof(name));
}
return new MarketHoliday
{
Date = date,
Name = name.Trim()
};
}
}