using FluentValidation; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; namespace OASystem.Domain.Dtos.System { /// <summary> /// 员工表查询dto /// </summary> public class UserDto : DtoBase { /// <summary> /// 公司Id /// </summary> public int CompanyId { get; set; } /// <summary> /// 部门Id /// </summary> public int DepId { get;set; } /// <summary> /// 岗位Id /// </summary> public int JobPostId { get; set; } } /// <summary> /// 修改用户信息 /// </summary> public class EditUserDto { /// <summary> /// 当前用户ID /// </summary> public int CurrUserId { get; set; } /// <summary> /// 用户Id /// </summary> public int Id { get; set; } /// <summary> /// 工号 /// </summary> public string Number { get; set; } /// <summary> /// 公司Id /// </summary> public int CompanyId { get; set; } /// <summary> /// 部门Id /// </summary> public int DepId { get; set; } /// <summary> /// 岗位Id /// </summary> public int JobPostId { get; set; } /// <summary> /// 分机号 /// </summary> public string Ext { get; set; } /// <summary> /// 试用期 /// </summary> public string UsePeriod { get; set; } /// <summary> /// 人事审核 0未审核(初始状态) 1 已通过(可用)2已拒绝 /// </summary> //public int HrAudit { get; set; } } /// <summary> /// 修改个人信息 /// </summary> public class EditMyUserDto { /// <summary> /// 用户Id /// </summary> public int Id { get; set; } /// <summary> /// 中文姓名 /// </summary> public string CnName { get; set; } /// <summary> /// 英文姓名 /// </summary> public string EnName { get; set; } /// <summary> /// 性别0 男1 女 2 未设置 /// </summary> public int Sex { get; set; } private string phone; /// <summary> /// 手机号 /// </summary> public string Phone { get { return phone; } set { if (Regex.IsMatch(value, @"^[1]+[2,3,4,5,6,7,8,9]+\d{9}")) { phone = value; } else { phone = ""; } } } private string urgentPhone; /// <summary> /// 紧急联系人 手机号 /// </summary> public string UrgentPhone { get { return urgentPhone; } set { if (Regex.IsMatch(value, @"^[1]+[2,3,4,5,6,7,8,9]+\d{9}")) { urgentPhone = value; } else { urgentPhone = ""; } } } private string email; /// <summary> /// 邮箱 /// </summary> public string Email { get { return email; } set { if (Regex.IsMatch(value, @"^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(com|cn|net)$")) { email = value; } else { email = ""; } } } /// <summary> /// 住址 /// </summary> public string Address { get; set; } /// <summary> /// 入职时间 /// </summary> public DateTime Edate { get; set; } /// <summary> /// 生日 /// </summary> public DateTime Birthday { get; set; } /// <summary> /// 身份证号码 /// </summary> public string IDCard { get; set; } /// <summary> /// 毕业学校 /// </summary> public string GraduateInstitutions { get; set; } /// <summary> /// 专业 /// </summary> public string Professional { get; set; } /// <summary> /// 学历 /// </summary> public int Education { get; set; } /// <summary> /// 学历类型 /// </summary> public int TheOrAdultEducation { get; set; } /// <summary> /// 婚姻状态 /// </summary> public string MaritalStatus { get; set; } /// <summary> /// 家庭地址 /// </summary> public string HomeAddress { get; set; } /// <summary> /// 工作经历 /// </summary> public string WorkExperience { get; set; } /// <summary> /// 证书上传 /// </summary> public string Certificate { get; set; } } /// <summary> /// 删除用户信息 /// 即为离职 /// </summary> public class UserDelDto : PortDtoBase { /// <summary> /// 数据Id /// </summary> public int Id { get; set; } /// <summary> /// 操作人Id /// </summary> public int OperateUserId { get; set; } } public class PersonnelAuditDto { public int UserId { get; set; } /// <summary> /// 数据Id /// </summary> public int Id { get; set; } /// <summary> /// 审核是否通过 1:通过 2拒绝 /// </summary> public int IsAudit { get; set; } } public class QueryUserByDepartDto { public int DepartId { get; set; } } public class UserInfoDto : PortDtoBase { public int Id { get; set; } } public class EditUserInfoDto { public int CurrUserId { get; set; } public int Id { get; set; } /// <summary> /// 中文姓名 /// </summary> public string CnName { get; set; } /// <summary> /// 英文姓名 /// </summary> public string EnName { get; set; } /// <summary> /// 工号 /// </summary> public string Number { get; set; } /// <summary> /// 公司Id /// </summary> public int CompanyId { get; set; } /// <summary> /// 部门Id /// </summary> public int DepId { get; set; } /// <summary> /// 岗位Id /// </summary> public int JobPostId { get; set; } /// <summary> /// 密码 /// </summary> public string Password { get; set; } /// <summary> /// 确认密码 /// </summary> public string ComfirmPassword { get; set; } /// <summary> /// 性别0 男 1 女 2 未设置 /// </summary> public int Sex { get; set; } /// <summary> /// 分机号 /// </summary> public string Ext { get; set; } /// <summary> /// 手机号 /// </summary> public string Phone { get; set; } /// <summary> /// 紧急联系人 手机号 /// </summary> public string UrgentPhone { get; set; } /// <summary> /// 邮箱 /// </summary> public string Email { get; set; } /// <summary> /// 住址 /// </summary> public string Address { get; set; } /// <summary> /// 入职时间 /// </summary> public string? Edate { get; set; } = null; ///// <summary> ///// 离职时间 ///// </summary> //public DateTime Rdate { get; set; } ///// <summary> ///// 工龄 ///// </summary> //public int Seniority { get; set; } ///// <summary> ///// 生日 ///// </summary> //public string? Birthday { get; set; } = null; /// <summary> /// 身份证号码 /// </summary> public string IDCard { get; set; } ///// <summary> ///// 开始工作时 ///// </summary> //public string? StartWorkDate { get; set; }= null; /// <summary> /// 毕业学校 /// </summary> public string GraduateInstitutions { get; set; } /// <summary> /// 专业 /// </summary> public string Professional { get; set; } /// <summary> /// 学历 /// 0 未设置 1 小学、2 初中、3 高中、4 专科、5 本科、6 研究生 /// </summary> public int Education { get; set; } /// <summary> /// 学历类型 ///0 未设置 1 成教 2 统招 3 留学 /// </summary> public int TheOrAdultEducation { get; set; } /// <summary> /// 婚姻状态 /// </summary> public string MaritalStatus { get; set; } /// <summary> /// 家庭地址 /// </summary> public string HomeAddress { get; set; } /// <summary> /// 试用期 /// </summary> public string UsePeriod { get; set; } /// <summary> /// 工作经历 /// </summary> public string WorkExperience { get; set; } /// <summary> /// 证书上传 /// </summary> public string Certificate { get; set; } ///// <summary> ///// 企微Id ///// </summary> //public string QiyeChatUserId { get; set; } /// <summary> /// 备注 /// </summary> public string Remark { get; set; } } public class EditUserInfoDtoValidator : AbstractValidator<EditUserInfoDto> { public EditUserInfoDtoValidator() { //RuleFor(x => x.CurrUserId).LessThan(1).WithMessage("暂无修改权限!"); RuleFor(x => x.CnName).NotEmpty().WithMessage("姓名不能为空!"); RuleFor(x => x.EnName).NotEmpty().WithMessage("英文名不能为空!"); RuleFor(x => x.Number).NotEmpty().WithMessage("工号不能为空!"); RuleFor(x => x.Password).NotEmpty().WithMessage("密码不能为空!") .Length(6, 20).WithMessage("密码长度必须在6到20个字符之间!"); RuleFor(x => x.ComfirmPassword).NotEmpty().WithMessage("确认密码不能为空!") .Equal(x => x.Password).WithMessage("两次密码输入不一致!"); RuleFor(x => x.Sex).InclusiveBetween(0,2).WithMessage("性别:0 男;1 女;2 未设置;"); RuleFor(x => x.Phone).NotEmpty().WithMessage("手机号不能为空!"); RuleFor(x => x.UrgentPhone).NotEmpty().WithMessage("手机号不能为空!"); RuleFor(x => x.Email).NotEmpty().WithMessage("邮箱不能为空!"); RuleFor(x => x.Address).NotEmpty().WithMessage("住址不能为空!"); //RuleFor(x => x.Edate).NotEmpty().WithMessage("入职时间不能为空!"); //RuleFor(x => x.Birthday).NotEmpty().WithMessage("生日不能为空!"); RuleFor(x => x.IDCard).NotEmpty().WithMessage("身份证号码不能为空!"); RuleFor(x => x.TheOrAdultEducation).InclusiveBetween(0, 3).WithMessage("学历类型 0 未设置 1 成教 2 统招 3 留学"); RuleFor(x => x.Education).InclusiveBetween(0, 6).WithMessage("学历 0 未设置 1 小学、2 初中、3 高中、4 专科、5 本科、6 研究生"); } } }