using Exam.Infrastructure.Data.Interface;
using Hotline.Share.Enums.Exams;
using System.ComponentModel;
using System.Text.Json.Serialization;

namespace Hotline.Share.Requests.Exam
{
    public record UserExamPagedRequest:PagedRequest,IQueryRequest
    {
        /// <summary>
        /// 考试名称
        /// </summary>
        [Description("考试名称")]
        public string Name { get; set; }

        /// <summary>
        /// 考试类型
        /// </summary>
        [Description("考试类型")]
        public EExamType? ExamType { get; set; }

        /// <summary>
        /// 最小开始时间
        /// </summary>
        [Description("最小开始时间")]
        public DateTime? MinStartTime { get; set; }

        /// <summary>
        /// 最大开始时间
        /// </summary>
        [Description("最大开始时间")]
        public DateTime? MaxStartTime { get; set; }

        /// <summary>
        /// 最小结束时间
        /// </summary>
        [Description("最小结束时间")]
        public DateTime? MinEndTime { get; set; }

        /// <summary>
        /// 最大结束时间
        /// </summary>
        [Description("最大结束时间")]
        public DateTime? MaxEndTime { get; set; }

        /// <summary>
        /// 最小总分
        /// </summary>
        [Description("最小总分")]
        public int? MinTotalScore { get; set; }

        /// <summary>
        /// 最大总分
        /// </summary>
        [Description("最大总分")]
        public int? MaxTotalScore { get; set; }

        /// <summary>
        /// 最小分数
        /// </summary>
        [Description("最小分数")]
        public int? MinScore { get; set; }

        /// <summary>
        /// 最大分数
        /// </summary>
        [Description("最大分数")]
        public int? MaxScore { get; set; }

        /// <summary>
        /// 当前用户
        /// </summary>
        [Description("当前用户Id")]
        [JsonIgnore]
        public string UserId { get; set; }
    }
}
