using Tiobon.Core.Model.Models;

namespace Tiobon.Core.Model;

public class Ghre_ExamRecordExtend : DefaultGhre_ExamPaperPageData
{

    public CommentData CommentData { get; set; }
    public StaffInfo StaffInfo { get; set; }

    public long? PreviousRecordId { get; set; }

    public long? NextRecordId { get; set; }

}



public class QueryExam : DefaultGhre_ExamPaperPageData
{
    public long Id { get; set; }
    public string Status1 { get; set; }

    /// <summary>
    /// 课程名称
    /// </summary>
    public string CourseName { get; set; }

    /// <summary>
    /// 考试名称
    /// </summary>
    public string ExamName { get; set; }
    /// <summary>
    /// 考试开始时间
    /// </summary>
    public string ExamBeginDate { get; set; }

    /// <summary>
    /// 考试结束时间
    /// </summary>
    public string ExamEndDate { get; set; }
    /// <summary>
    ///  Wait 等待考试, Examing 考试中, End 考试结束
    /// </summary>
    public string ExamStatus { get; set; }

    /// <summary>
    /// 考试说明
    /// </summary>
    public string ExamRemark { get; set; }

    /// <summary>
    /// 剩余时间
    /// </summary>
    public int RemainingSecond { get; set; }

    /// <summary>
    /// 头像
    /// </summary>
    public string StaffPhoto { get; set; }

    /// <summary>
    /// 员工姓名
    /// </summary>
    public string StaffName { get; set; }

    /// <summary>
    /// 工号
    /// </summary>
    public string StaffNo { get; set; }

    /// <summary>
    /// 部门
    /// </summary>
    public string DeptName { get; set; }

    /// <summary>
    /// 部门编号
    /// </summary>
    public string DeptNo { get; set; }

    /// <summary>
    /// 最终得分
    /// </summary>
    public decimal? TotalScore { get; set; }

    /// <summary>
    /// 实际考试时长 
    /// </summary>
    public string UsageTime { get; set; }

    /// <summary>
    /// 可重考
    /// </summary>
    public bool? CanRetake { get; set; }

    /// <summary>
    /// 出分中
    /// </summary>
    public bool? ScoreOut { get; set; }

    /// <summary>
    /// 出分时间
    /// </summary>
    public string ScoreOutTime { get; set; }

    /// <summary>
    /// 是否允许查看试卷
    /// </summary>
    public bool? IsAllowView { get; set; } = true;

    /// <summary>
    /// 是否缺考
    /// </summary>
    public bool? IsMissExam { get; set; } = false;

    /// <summary>
    /// 是否缺考
    /// </summary>
    public bool? IsAllowExam { get; set; } = true;

    public bool? IsAfterViewResultRetake { get; set; }


    public List<ExamGroup> Groups { get; set; } = new List<ExamGroup>();
}

public class ExamGroup
{
    public long? GroupId { get; set; }
    public long? ExamRecordId { get; set; }
    public string ExamTime { get; set; }
    public decimal Score { get; set; }
}

public class CommentData
{
    public string Comment { get; set; }
    public string StaffNo { get; set; }
    public string StaffName { get; set; }
    public string DeptNo { get; set; }
    public string DepteName { get; set; }
    public string PhotoUrl { get; set; }
    public string TitleName { get; set; }
    public bool? IsFirstTime { get; set; } = false;
}

public class StaffInfo
{
    public string StaffNo { get; set; }
    public string StaffName { get; set; }
    public string DeptNo { get; set; }
    public string DepteName { get; set; }

    public decimal StaffScore { get; set; }
    public string PhotoUrl { get; set; }
}