using System.ComponentModel.DataAnnotations; namespace AsbCloudApp.Data { /// <summary> /// DTO пользователя платформы /// </summary> public class UserDto : IId { /// <inheritdoc/> public int Id { get; set; } /// <summary> /// логин /// </summary> [Required(ErrorMessage = "Логин не должен быть пустым")] [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина логина от 1 до 50 символов")] public string Login { get; set; } = null!; /// <summary> /// Имя /// </summary> [StringLength(50, MinimumLength = 0, ErrorMessage = "Допустимая длина имени от 1 до 50 символов")] public string? Name { get; set; } /// <summary> /// Фамилия /// </summary> [StringLength(50, MinimumLength = 0, ErrorMessage = "Допустимая длина фамилии от 1 до 50 символов")] public string? Surname { get; set; } /// <summary> /// Отчество /// </summary> [StringLength(50, MinimumLength = 0, ErrorMessage = "Допустимая длина отчества от 1 до 50 символов")] public string? Patronymic { get; set; } /// <summary> /// Email /// </summary> [Required] [StringLength(260, MinimumLength = 1, ErrorMessage = "Допустимая длина email от 1 до 260 символов")] public string Email { get; set; } = null!; /// <summary> /// Phone /// </summary> [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина телефона от 1 до 50 символов")] public string? Phone { get; set; } /// <summary> /// Должность /// </summary> [StringLength(100, MinimumLength = 1, ErrorMessage = "Допустимая длина должности от 1 до 100 символов")] public string? Position { get; set; } /// <summary> /// Id компании /// </summary> [Required] public int IdCompany { get; set; } /// <summary> /// Id состояния пользователя /// </summary> public short? IdState { get; set; } /// <summary> /// DTO компании /// </summary> public CompanyDto? Company { get; set; } /// <summary> /// Получение отображаемого имени /// </summary> /// <returns></returns> public string MakeDisplayName() { if (string.IsNullOrEmpty(Surname)) return Login; var s = Surname; if (!string.IsNullOrEmpty(Name)) { s += $"{Name[0]}."; if (!string.IsNullOrEmpty(Patronymic)) s += $" {Patronymic[0]}."; } return s; } } }