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

namespace YBEE.EQM.Core;

/// <summary>
/// 学校教师
/// </summary>
[Comment("学校教师")]
public class SchoolTeacher : DEntityBase
{
    /// <summary>
    /// 机构ID
    /// </summary>
    [Comment("机构ID")]
    [Required]
    public short SysOrgId { get; set; }
    /// <summary>
    /// 人员ID
    /// </summary>
    [Comment("人员ID")]
    [Required]
    public int PersonId { get; set; }
    /// <summary>
    /// 学校职位ID
    /// </summary>
    [Comment("学校职位ID")]
    [Required, Column(TypeName = "smallint")]
    public SchoolJobTitle SchoolJobTitle { get; set; } = SchoolJobTitle.TEACHER;
    /// <summary>
    /// 是否外聘
    /// </summary>
    [Comment("是否外聘")]
    [Required]
    public bool IsExternal { get; set; } = false;
    /// <summary>
    /// 状态
    /// </summary>
    [Comment("状态")]
    [Required, Column(TypeName = "smallint")]
    public CommonStatus CommonStatus { get; set; } = CommonStatus.ENABLE;

    /// <summary>
    /// 一对一引用（机构）
    /// </summary>
    public virtual SysOrg SysOrg { get; set; }
    /// <summary>
    /// 一对一引用（人员）
    /// </summary>
    public virtual Person Person { get; set; }
}
