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