using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using ChangkeTec.SDMS.Model.Base;
using ChangkeTec.SDMS.Model.Enums;

namespace ChangkeTec.SDMS.Model.ExchangeCenterTables
{
    /// <summary>
    /// 任务订阅历史表
    /// </summary>
    [Description("任务订阅历史表")]
    public class TEA_TASK_SUB_HIS : IUpdatableTable
    {
        [Description("任务状态")]
        public EnumTaskState TaskState { get; set; }


        [Description("任务编号")]
        public Guid TaskID { get; set; }

        [Description("创建者")]
        [StringLength(50)]
        public string Creator { get; set; }

        [Description("订阅者")]
        [StringLength(50)]
        public string Subscriber { get; set; }

        [Description("错误信息")]
        [StringLength(50)]
        public string ErrorInfo { get; set; }

        [Description("域")]
        [StringLength(50)]
        public string Domain { get; set; }

        [Description("地点")]
        [StringLength(50)]
        public string Site { get; set; }

        [Key]
        public Guid GUID { get; set; } = Guid.NewGuid();

        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int UID { get; set; }

        [Description("创建人")]
        [StringLength(50)]
        public string CreateUser { get; set; }

        [Description("创建时间")]
        public DateTime CreateTime { get; set; }

        [Description("备注")]
        public string Remark { get; set; }

        [Description("修改人")]
        [StringLength(50)]
        public string UpdateUser { get; set; }

        [Description("修改时间")]
        public DateTime? UpdateTime { get; set; }

        [NotMapped]
        public bool IsChecked { get; set; }
    }
}