using static Tiobon.Core.Model.Consts;

namespace Tiobon.Core.Model;

public class Ghre_StudyRecordESS
{
    public long Id { get; set; }

    /// <summary>
    /// 员工ID
    /// </summary>
    public int? StaffId { get; set; }

    /// <summary>
    /// 课程快照ID
    /// </summary>
    public long? CourseSnapId { get; set; }

    /// <summary>
    /// 课程ID
    /// </summary>
    public long? CourseId { get; set; }
    public string CoverUrl { get; set; }
    public bool? UseDefaultCoverImage { get; set; }
    public string DefaultCoverImageName { get; set; }
    public string CourseName { get; set; }
    public int? StandardHour { get; set; }
    public int? CreditPoints { get; set; }

    public DateTime? CourseBeginDate { get; set; }
    public DateTime? CourseEndDate { get; set; }
    public DateTime? ExamDate { get; set; }

    /// <summary>
    /// 开班状态
    /// </summary>

    public string OpenClassStatus { get; set; }

    /// <summary>
    /// 考试开始时间
    /// </summary>
    public DateTime? ExamBeginDate { get; set; }

    /// <summary>
    /// 报名开始时间
    /// </summary>
    public DateTime? RegisterStartTime { get; set; }

    /// <summary>
    /// 报名结束时间
    /// </summary>
    public DateTime? RegisterEndTime { get; set; }

    /// <summary>
    /// 考试结束时间
    /// </summary>
    public DateTime? ExamEndDate { get; set; }

    /// <summary>
    /// 是否显示学习按钮
    /// </summary>
    public bool? ShowStudyBtn { get; set; } = true;

    /// <summary>
    /// 是否禁用学习按钮
    /// </summary>
    public bool? DisableStudyBtn { get; set; } = false;

    /// <summary>
    /// 是否显示考试按钮
    /// </summary>
    public bool? ShowExamBtn { get; set; } = true;

    /// <summary>
    /// 是否禁用考试按钮
    /// </summary>
    public bool? DisableExamBtn { get; set; } = false;

    /// <summary>
    /// 是否显示反馈按钮
    /// </summary>
    public bool? ShowFeedbackBtn { get; set; } = true;

    /// <summary>
    /// 是否禁用反馈按钮
    /// </summary>
    public bool? DisableFeedbackBtn { get; set; } = true;

    /// <summary>
    /// 是否显示报名按钮
    /// </summary>
    public bool? ShowRegisterBtn { get; set; } = false;

    /// <summary>
    /// 是否禁用报名按钮
    /// </summary>
    public bool? DisableRegisterBtn { get; set; } = false;

    /// <summary>
    /// 学习进度
    /// </summary>
    public int? StudyProgress { get; set; } = 0;
    public int? AfterHowLong { get; set; }

    /// <summary>
    /// 考试时间类型
    /// </summary>
    public string ExamDateType { get; set; }
    public string CourseDateString { get; set; }

    public string ExamDateString { get; set; }
    public string ExamStatus { get; set; }
    public string CompleteStatus { get; set; } = DIC_STUDY_RECORD_STUDY_COMPLETE_STATUS.NO_FINISH;

    public long? ExamId { get; set; }

    public long? FeedbackOrderId { get; set; }

    public bool? IsRequireStudy { get; set; } = true;
    public string StudyFinishedRule { get; set; }
    public string OpenClassFeedbackStatus { get; set; }
}
