using System.ComponentModel.DataAnnotations; using Landmark.OLA.Models.Addresses; using Landmark.OLA.Models.Individuals.Enums; namespace Landmark.OLA.Models.Individuals { public class MailableSpouse : INonApplicant { public Guid Id { get; } [Required] [StringLength(60, MinimumLength = 1)] public string FirstName { get; set; } [StringLength(1, MinimumLength = 0)] [RegularExpression(@"[a-zA-Z]")] public string MiddleInitial { get; set; } [Required] [StringLength(60, MinimumLength = 1)] public string LastName { get; set; } [Required] public Address MailingAddress { get; set; } [StringLength(9, MinimumLength = 9)] [RegularExpression(@"[0-9]+")] public string SSN { get; set; } [StringLength(180, MinimumLength = 3)] [RegularExpression(@".+@.+")] public string Email { get; set; } [Required] //Nullable so that there is no default value public LanguageOption? Language { get; set; } public MailableSpouse() { Id = Guid.NewGuid(); } public MailableSpouse(Guid id) { Id = id; } [Required] public bool HasOptedOutTCPA { get; set; } } }