using System; using System.ComponentModel.DataAnnotations; namespace AsbCloudApp.Data.User; /// <summary> /// Контакт /// </summary> public class ContactDto : IId { /// <inheritdoc/> public int Id { get; set; } /// <summary> /// ключ типа компании /// </summary> [Required] [Range(1, int.MaxValue)] public int IdCompanyType { get; set; } /// <summary> /// ключ скважины /// </summary> [Required] [Range(1,int.MaxValue)] public int IdWell { get; set; } /// <summary> /// ФИО /// </summary> [Required] [StringLength(260, MinimumLength = 0, ErrorMessage = "Допустимая длина ФИО от 1 до 260 символов")] public string FullName { get; set; } = null!; /// <summary> /// Email /// </summary> [RegularExpression(@"^[a-zA-Z0-9_\-\.]{3,128}@[a-zA-Z0-9_\-\.]{2,128}\.[a-zA-Z]{1,32}$", ErrorMessage = "Некорректный email")] public string? Email { get; set; } /// <summary> /// Phone /// </summary> [RegularExpression(@"^(?:\+7|8)\s?(?:\(\d{3}\)|\d{3})\s?\d{3}-?\d{2}-?\d{2}$", ErrorMessage = "Некорректный номер телефона")] public string? Phone { get; set; } /// <summary> /// Должность /// </summary> [Required] [StringLength(260, MinimumLength = 1, ErrorMessage = "Допустимая длина должности от 1 до 260 символов")] public string Position { get; set; } = null!; /// <summary> /// Компания /// </summary> [Required] [StringLength(260, MinimumLength = 3, ErrorMessage = "Допустимая длина названия компании от 3 до 260 символов")] public string Company { get; set; } = null!; }