using Ewide.Core;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace RoadFlow.Model.FlowRunModel
{
///
/// 用户实体类
///
public class User : IEqualityComparer
{
///
/// Id
///
[DisplayName("Id")]
[Key]
public string Id { get; set; }
///
/// 姓名
///
[DisplayName("姓名")]
[Required(ErrorMessage = "姓名不能为空")]
public string Name { get; set; }
///
/// 帐号
///
[DisplayName("帐号")]
[Required(ErrorMessage = "帐号不能为空")]
public string Account { get; set; }
///
/// 密码
///
[DisplayName("密码")]
[Required(ErrorMessage = "密码不能为空")]
public string Password { get; set; }
///
/// 性别 0男 1女
///
[DisplayName("性别 0男 1女")]
public int? Sex { get; set; }
///
/// 状态 0 正常 1 冻结
///
[DisplayName("状态 0 正常 1 冻结")]
public int Status { get; set; }
///
/// 职务
///
[DisplayName("职务")]
public string Job { get; set; } = string.Empty;
///
/// 备注
///
[DisplayName("备注")]
public string Note { get; set; } = string.Empty;
///
/// 手机
///
[DisplayName("手机")]
public string Mobile { get; set; } = string.Empty;
///
/// 办公电话
///
[DisplayName("办公电话")]
public string Tel { get; set; } = string.Empty;
///
/// 其它联系方式
///
[DisplayName("其它联系方式")]
public string OtherTel { get; set; } = string.Empty;
///
/// 传真
///
[DisplayName("传真")]
public string Fax { get; set; } = string.Empty;
///
/// 邮箱
///
[DisplayName("邮箱")]
public string Email { get; set; } = string.Empty;
///
/// QQ(此字段不保存QQ号了,用来保存流程处理时有时需要人员分组)
///
[DisplayName("QQ")]
public string QQ { get; set; } = string.Empty;
///
/// 头像
///
[DisplayName("头像")]
public string HeadImg { get; set; } = string.Empty;
///
/// 微信号(此字段不保存微信号,用来保存用户选择的当前语言)
///
[DisplayName("微信号")]
public string WeiXin { get; set; } = string.Empty;
///
/// 人员兼职的机构ID(兼职时有用)(organizeuser表ID)
///
[DisplayName("人员兼职的机构ID")]
public string PartTimeId { get; set; }
///
/// 微信openid
///
[DisplayName("微信openid")]
public string WeiXinOpenId { get; set; }
public override string ToString()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this);
}
public bool Equals(User u1, User u2)
{
return u1.Id == u2.Id;
}
public int GetHashCode(User u)
{
return u.Id.GetHashCode();
}
public User Clone()
{
return (User)MemberwiseClone();
}
public static User FromSysUser(SysUser u)
{
User rtn = new User();
rtn.Id = u.Id;
rtn.Name = u.Name;
return rtn;
}
}
}