using Masuit.LuceneEFCore.SearchEngine;
using Masuit.MyBlogs.Core.Models.Enum;
using Masuit.MyBlogs.Core.Models.Validation;
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Masuit.MyBlogs.Core.Models.Entity
{
///
/// 网站问题
///
[Table("Issue")]
public class Issue : BaseEntity
{
public Issue()
{
Status = Status.WaitingHandle;
SubmitTime = DateTime.Now;
Level = BugLevel.General;
}
///
/// 提交人昵称
///
[Required(ErrorMessage = "昵称不能为空!")]
public string Name { get; set; }
///
/// 提交人邮箱
///
[IsEmail]
public string Email { get; set; }
///
/// 问题标题
///
[Required(ErrorMessage = "标题不能为空!"), LuceneIndex]
public string Title { get; set; }
///
/// 存在问题的页面链接
///
[Required(ErrorMessage = "链接不能为空!"), LuceneIndex]
public string Link { get; set; }
///
/// 问题的详细描述
///
[Required(ErrorMessage = "问题描述不能为空!"), SubmitCheck(20, 5000), LuceneIndex(IsHtml = true)]
public string Description { get; set; }
///
/// 问题严重级别
///
[Required]
public BugLevel Level { get; set; }
///
/// 提交时间
///
public DateTime SubmitTime { get; set; }
///
/// 处理时间
///
public DateTime? HandleTime { get; set; }
///
/// 开发者回信
///
public string Msg { get; set; }
///
/// 提交人IP
///
public string IPAddress { get; set; }
}
///
/// 问题级别
///
public enum BugLevel
{
[Display(Name = "一般")] General,
[Display(Name = "严重")] Serious,
[Display(Name = "异常")] Exception,
[Display(Name = "致命")] Fatal
}
}