using System;
using System.ComponentModel.DataAnnotations;
using Abp.Domain.Entities;
using Abp.Domain.Entities.Auditing;
using YGNT.QuestionLibrary.Core.Papers;
using YGNT.QuestionLibrary.Core.Tasks.Enum;

namespace YGNT.QuestionLibrary.Core.Tasks
{
    /// <summary>
    /// 试卷生成任务
    /// </summary>
    public class PaperProduceTask : Entity<long>, ICreationAudited
    {

        /// <summary>
        /// 试卷id
        /// </summary>
        [Required]
        public int PaperId { get; set; }

        /// <summary>
        /// 任务名称
        /// </summary>
        [Required]
        public string Name { get; set; }

        /// <summary>
        /// 用户id
        /// </summary>
        [Required]
        public long UserId { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }


        /// <summary>
        /// 任务状态
        /// </summary>
        public TaskState TaskState { get; set; }

        /// <summary>
        /// 试卷
        /// </summary>
        public Paper Paper { get; set; }

        public DateTime CreationTime { get; set; }

        public long? CreatorUserId { get; set; }
    }
}