using System.ComponentModel.DataAnnotations; namespace PowderCoating.Core.Entities; /// /// An additional contact person associated with a customer account. /// Commercial customers frequently have separate billing, operations, and drop-off contacts. /// The primary contact remains on the Customer entity; these are supplementary. /// public class CustomerContact : BaseEntity { public int CustomerId { get; set; } [Required] [StringLength(100)] public string FirstName { get; set; } = string.Empty; [StringLength(100)] public string? LastName { get; set; } /// Job title / role at the company, e.g. "Purchasing Manager". [StringLength(100)] public string? Title { get; set; } /// Functional role: Billing, Operations, Drop-off, Sales, General, etc. [StringLength(50)] public string? ContactRole { get; set; } [StringLength(200)] public string? Email { get; set; } [StringLength(20)] public string? Phone { get; set; } [StringLength(20)] public string? MobilePhone { get; set; } [StringLength(500)] public string? Notes { get; set; } public virtual Customer? Customer { get; set; } }