using System.ComponentModel.DataAnnotations.Schema;
using YieldChain.Security;
using YLErp.DBModels.Consts;
namespace YLErp
{
///
/// 用户信息
///
public class OptUserInfo
{
private string _userGroup = string.Empty;
///
/// 用户ID
///
public int UserId { get; set; }
public string UserEncryptId
{
get { return DataProtect.Encrypt(UserId.ToString()); }
}
///
/// 用户名称
///
public string UserName { get; set; }
///
/// oa账户
///
public string OaAccount { get; set; }
///
/// 用户组
///
public string UserGroup
{
get => _userGroup;
set
{
_userGroup = PS.Config != null && ConsUserGroup.HasGroup ? value ?? string.Empty : string.Empty;
}
}
///
/// IP地址
///
public string IpAddress { get; set; }
///
/// 用户来源
///
public OptUserFrom UserFrom { get; set; }
protected OptUserInfo()
{
}
public OptUserInfo(int userId, string userName, OptUserFrom userFrom, string userGroup = null)
{
UserId = userId;
UserName = userName;
UserFrom = userFrom;
UserGroup = userGroup;
}
public OptUserInfo Clone()
{
return (OptUserInfo)MemberwiseClone();
}
///
/// 最小权限系统用户
///
public static readonly OptUserInfo SystemUser;
public static readonly OptUserInfo UnitTestUser;
static OptUserInfo()
{
SystemUser = new OptUserInfo(0, "系统", OptUserFrom.System);
UnitTestUser = new OptUserInfo(0, "单元测试", OptUserFrom.UnitTest);
}
}
///
/// 操作用户来源
///
public enum OptUserFrom
{
System, WebUI, WebAPI, Service, UnitTest
}
}