using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace AutoServiceApp.Models
{
/// <summary>
/// Модель клиента автосервиса
/// </summary>
public class Client
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required(ErrorMessage = "Поле ФИО обязательно для заполнения")]
[Display(Name = "ФИО клиента")]
[StringLength(100, MinimumLength = 3, ErrorMessage = "Длина ФИО должна быть от 3 до 100 символов")]
public string FullName { get; set; } = string.Empty;
[Required(ErrorMessage = "Поле Телефон обязательно для заполнения")]
[Display(Name = "Телефон")]
[Phone(ErrorMessage = "Неверный формат телефона")]
[StringLength(20, ErrorMessage = "Телефон не должен превышать 20 символов")]
public string Phone { get; set; } = string.Empty;
[Display(Name = "Email")]
[EmailAddress(ErrorMessage = "Неверный формат email")]
[StringLength(100, ErrorMessage = "Email не должен превышать 100 символов")]
public string? Email { get; set; }
[Display(Name = "Адрес")]
[StringLength(200, ErrorMessage = "Адрес не должен превышать 200 символов")]
public string? Address { get; set; }
[Display(Name = "Дата регистрации")]
public DateTime RegistrationDate { get; set; } = DateTime.Now;
// Навигационное свойство
public virtual ICollection<Vehicle>? Vehicles { get; set; }
public virtual ICollection<ServiceRequest>? ServiceRequests { get; set; }
}
}