This commit is contained in:
2024-08-12 17:38:02 +03:00
parent 14f9092f63
commit 5db1d1b1c5
22 changed files with 316 additions and 55 deletions

View File

@@ -0,0 +1,47 @@
using Domains.Common;
namespace Domains.ApplicantDomain
{
/// Model of an applicant
public class Applicant : IEntity
{
/// Unique identifier of the <see cref="Applicant"/>
public Guid Id { get; set; }
/// Full name of the <see cref="Applicant"/>
public Name Name { get; set; } = null!;
/// Date of birth of the <see cref="Applicant"/>
public DateOnly BirthDate { get; set; }
/// <see cref="Country"/> of birth of the <see cref="Applicant"/>
public Country CountryOfBirth { get; set; } = null!;
/// <see cref="City"/> of birth of the <see cref="Applicant"/>
public City CityOfBirth { get; set; } = null!;
/// Citizenship of <see cref="Applicant"/>
public string Citizenship { get; set; } = null!;
/// Citizenship by birth of <see cref="Applicant"/>
public string CitizenshipByBirth { get; set; } = null!;
/// Gender of <see cref="Applicant"/>
public Gender Gender { get; set; }
/// Marital status of <see cref="Applicant"/>
public MaritalStatus MaritalStatus { get; set; }
/// Full name of the <see cref="Applicant"/>'s father
public Name FatherName { get; set; } = null!;
/// Full name of the <see cref="Applicant"/>'s mother
public Name MotherName { get; set; } = null!;
/// Place of <see cref="Applicant"/>'s work
public PlaceOfWork PlaceOfWork { get; set; } = null!;
/// Is <see cref="Applicant"/> a non-resident
public bool IsNonResident { get; set; }
}
}

View File

@@ -0,0 +1,10 @@
namespace Domains.ApplicantDomain
{
public enum Gender
{
Unknown,
Male,
Female,
Turkish
}
}

View File

@@ -0,0 +1,11 @@
namespace Domains.ApplicantDomain
{
public enum MaritalStatus
{
Other,
Married,
Unmarried,
Separated,
WidowOrWidower
}
}

View File

@@ -0,0 +1,13 @@
namespace Domains.ApplicantDomain
{
/// Model of full name
/// <remarks>Owned</remarks>
public class Name
{
public string FirstName { get; set; } = null!;
public string Surname { get; set; } = null!;
public string? Patronymic { get; set; }
}
}

View File

@@ -0,0 +1,21 @@
namespace Domains.ApplicantDomain
{
/// Model of passport
public class Passport : IEntity
{
/// Unique identifier of <see cref="Passport"/>
public Guid Id { get; set; } = Guid.NewGuid();
/// Number of <see cref="Passport"/>
public string Number { get; set; }
/// Issuing authority of <see cref="Passport"/>
public string Issuer { get; set; }
/// Date of issue
public DateOnly IssueDate { get; set; }
/// Date when the <see cref="Passport"/> expires
public DateOnly ExpirationDate { get; set; }
}
}

View File

@@ -0,0 +1,19 @@
using Domains.Common;
namespace Domains.ApplicantDomain
{
public class PlaceOfWork : IEntity
{
/// Unique identifier of <see cref="PlaceOfWork"/>
public Guid Id { get; private set; } = Guid.NewGuid();
/// Name of hirer
public string Name { get; set; } = null!;
/// <see cref="Domains.Common.Address"/> of hirer
public Address Address { get; set; } = null!;
/// Phone number of hirer
public string PhoneNum { get; set; } = null!;
}
}