//--------------------------------------------------------------------
//     此代码由T4模板自动生成  byzhouhang 20210918
//	   生成时间 2023-07-04 16:10:43 
//     对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
{
    ///<summary>
    ///UserLog
    ///</summary>
    [Table("UserLog")]
    public class UserLog : Entity, IAuditAdd
    {




        public string IP { get; set; } = string.Empty;


        public DateTime CreateTime { get; set; }


        public Guid CreateUserId { get; set; }


        public string LoginFaildName { get; set; }=string.Empty;


        public UserOptType OptType { get; set; }


        public string LoginPassword { get; set; } = string.Empty;


        public Guid? LoginUserId { get;set; }

        public Guid? OptUserId { get;set; }

        [JsonIgnore]
        public User LoginUser { get; set; }

        [JsonIgnore]
        public User OptUser { get; set; }

    }

    /// <summary>
    /// 登录或者登出 锁定类型
    /// </summary>
    public enum UserOptType
    {

        /// <summary>
        /// 用户登录
        /// </summary>
        Login = 1,

        /// <summary>
        /// 用户登出
        /// </summary>
        LoginOut = 2,

        /// <summary>
        ///账号或者密码错误
        /// </summary>
        AccountOrPasswordError = 3,

        /// <summary>
        /// 账号锁定
        /// </summary>
        AccountLocked = 4,

        //账号启用
        AccountEnable = 5,

        //登录锁定账户
        LoginLockedAccount=6,

        //修改密码
        LoginModifyPassword =7,

        UnloginModifyPasswoed=8,

        //admin 重置密码
        ResetPassword=9,

        DeleteUser=10,

        UpdateUser=11
    }

}