using Domains.LocationDomain;
namespace Domains.ApplicantDomain;
/// Model of an applicant
public class Applicant : IEntity
{
    /// Unique identifier of the 
    public Guid Id { get; private set; } = Guid.NewGuid();
    public Guid UserId { get; set; }
    /// Full name of the 
    public Name Name { get; set; } = null!;
    /// Passport of 
    public Passport Passport { get; set; } = null!;
    /// Date of birth of the 
    public DateTime BirthDate { get; set; }
    ///  of birth of the 
    public Country CountryOfBirth { get; set; } = null!;
    ///  of birth of the 
    public City CityOfBirth { get; set; } = null!;
    /// Citizenship of 
    public string Citizenship { get; set; } = null!;
    /// Citizenship by birth of 
    public string CitizenshipByBirth { get; set; } = null!;
    /// Gender of 
    public Gender Gender { get; set; }
    /// Marital status of 
    public MaritalStatus MaritalStatus { get; set; }
    /// Full name of the 's father
    public Name FatherName { get; set; } = null!;
    /// Full name of the 's mother
    public Name MotherName { get; set; } = null!;
    /// Position of 
    public string JobTitle { get; set; } = null!;
    /// Place of 's work
    public PlaceOfWork PlaceOfWork { get; set; } = null!;
    /// Is  a non-resident
    public bool IsNonResident { get; set; }
}