using System.ComponentModel.DataAnnotations;
namespace AGSS.Models.DTOs;
///
/// 用于封装用户请求数据的类,主要用于提交或更新用户的个人信息。
///
public class UserRequest
{
///
/// 表示用户的性别。此属性可以为空,最大长度为20个字符。
///
[MaxLength(20)]
public string? Sex { get; set; }
///
/// 用户的描述信息,最大长度为100个字符。
///
[MaxLength(100)]
public string? Description { get; set; }
///
/// 代表用户请求中配置信息的字符串。此字段允许存储长度不超过200个字符的配置数据。
///
[MaxLength(200)]
public string? Config { get; set; }
///
/// 代表用户的职业代码,用于标识用户的职业类别。
/// 此属性的值应遵循特定格式或标准,具体取决于应用的需求。
/// 最大长度为10个字符。
///
/// 此字段在数据传输对象(如UserRequest和UserReturn)以及实体类UserModel中定义,确保了从客户端到服务器的数据一致性。
[MaxLength(10)]
public string? JobCode { get; set; }
///
/// 代表用户的职业名称。此属性用于存储用户的职业信息,最大长度为10个字符。
///
/// 该字段在UserRequest和UserReturn类中定义,并且在数据库实体UserModel中也有对应字段。通过UserInfoController中的NextInfo方法可以更新或创建包含此职业名称在内的用户信息。
[MaxLength(10)]
public string? JobName { get; set; }
///
/// 用户的生日。此属性用于存储用户的出生日期,格式为字符串。
///
/// 最大长度为20个字符。在数据传输对象(DTO)和实体模型中使用。
[MaxLength(20)]
public string? Birthday { get; set; }
}
///
/// 表示用户返回的数据模型。
/// 该类用于封装从服务端返回给客户端的用户信息。
///
///
/// 包含用户的唯一标识符、认证ID以及其他个人信息如性别、描述、配置、工作代码、工作名称、生日等。
/// 此外,还提供了用户的电子邮件、昵称和真实姓名。
///
public class UserReturn
{
///
/// 表示用户的唯一标识符。
///
public Guid Id { get; set; }
///
/// 用于标识用户的认证ID,最大长度为50个字符,是必需的字段。
///
[MaxLength(50)]
public required string AuthId { get; set; }
///
/// 表示用户的性别。此属性可以为空,最大长度为20个字符。
///
[MaxLength(20)]
public string? Sex { get; set; }
///
/// 用户描述信息,最大长度为100个字符。
/// 该属性用于存储关于用户的简短描述或备注信息。
///
[MaxLength(100)]
public string? Description { get; set; }
///
/// 配置信息,用于存储与用户相关的自定义配置数据。该属性支持最大长度为200个字符的字符串。
///
[MaxLength(200)]
public string? Config { get; set; }
///
/// 表示用户的职位代码。该字段的最大长度为10个字符。
///
[MaxLength(10)]
public string? JobCode { get; set; }
///
/// 表示用户的职位名称。该属性的值长度不能超过10个字符。
///
[MaxLength(10)]
public string? JobName { get; set; }
///
/// 表示用户的生日信息。此属性用于存储用户出生日期的字符串表示形式,最大长度为20个字符。
///
[MaxLength(20)]
public string? Birthday { get; set; }
///
/// 电子邮件地址,用于联系用户或作为账户标识。
///
/// 该属性应包含有效的电子邮件格式。
public string Email { get; set; }
///
/// 获取或设置用户的昵称。该属性用于存储用户在系统中的个性化名称,方便用户识别。
///
///
/// 该字段的长度应控制在合理范围内以确保数据的有效性和安全性。
///
public string NickName { get; set; }
///
/// 表示用户的名称。这是用户在系统中的主要标识符之一,用于显示和识别用户。
///
///
/// 该属性值应为字符串类型,通常用于存储用户的全名或昵称。
///
public string Name { get; set; }
}