using Magicodes.ExporterAndImporter.Core;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEA_Core.DB.Models
{
    public class BaseEntity
    {
        #region 数据状态管理
        /// 
        /// 状态 
        /// 中立字段,某些表可使用某些表不使用
        /// 
        //public bool Enabled { get; set; } = true;
        /// 
        /// 中立字段,某些表可使用某些表不使用   
        /// 逻辑上的删除,非物理删除  
        /// 例如:单据删除并非直接删除
        /// 
        //public bool IsDeleted { get; set; }
        /// 
        /// 中立字段 
        /// 是否内置数据
        /// 
        //public bool IsInternal { get; set; }
        #endregion 数据状态管理
        #region 创建
        /// 
        /// 备  注:创建者ID
        /// 默认值:
        ///
        //[ImporterHeader(Name = "创建者ID")]
        //[ExporterHeader(DisplayName = "创建者ID")]
        //[SugarColumn(ColumnName = "CreateID", IsNullable = false, IsOnlyIgnoreUpdate = true, ColumnDescription = "创建者ID")]
        //public int? CreateID { get; set; }
        /// 
        /// 创建者
        /// 
        [ImporterHeader(Name = "创建者")]
        [ExporterHeader(DisplayName = "创建者")]
        [SugarColumn(IsNullable = false, IsOnlyIgnoreUpdate = true, ColumnDescription = "创建者")]
        public string Creater { get; set; } = "Systeam";
        /// 
        /// 创建时间
        /// 
        [ImporterHeader(Name = "创建时间")]
        [ExporterHeader(DisplayName = "创建时间")]
        [SugarColumn(IsNullable = false, IsOnlyIgnoreUpdate = true, ColumnDescription = "创建时间")]
        public DateTime CreateDate { get; set; } = DateTime.Now;
        #endregion
        #region 修改
        /// 
        /// 备  注:修改人ID
        /// 默认值:
        ///
        //[ImporterHeader(Name = "修改人ID")]
        //[ExporterHeader(DisplayName = "修改人ID")]
        //[SugarColumn(IsNullable = true, IsOnlyIgnoreInsert = true, ColumnName = "ModifyID", ColumnDescription = "修改人ID")]
        //public int? ModifyID { get; set; }
        /// 
        /// 更新者
        /// 
        [ImporterHeader(Name = "修改人")]
        [ExporterHeader(DisplayName = "修改人")]
        [SugarColumn(IsNullable = true, IsOnlyIgnoreInsert = true, ColumnDescription = "修改人")]
        public string Modifier { get; set; }
        /// 
        /// 修改日期
        /// 
        [ImporterHeader(Name = "修改日期")]
        [ExporterHeader(DisplayName = "修改日期")]
        [SugarColumn(IsNullable = true, IsOnlyIgnoreInsert = true, ColumnDescription = "修改日期")]
        public DateTime? ModifyDate { get; set; } = DateTime.Now;
        /// 
        /// 数据版本
        /// 
        //[SugarColumn(DefaultValue = "0", IsEnableUpdateVersionValidation = true)] //标识版本字段
        //public long Version { get; set; }
        #endregion 修改
    }
}