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; } }