DD.WellWorkover.Cloud/AsbCloudApp/Data/User/ContactDto.cs

68 lines
2.1 KiB
C#
Raw Normal View History

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