52 lines
1.3 KiB
C#
52 lines
1.3 KiB
C#
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; }
|
|
}
|
|
}
|