Вытащил солюшен на уровень выше, чтобы прощё было дотнетить
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
11
Domains/VisaApplicationDomain/ApplicationStatus.cs
Normal file
11
Domains/VisaApplicationDomain/ApplicationStatus.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
namespace Domains.VisaApplicationDomain;
|
||||
|
||||
public enum ApplicationStatus
|
||||
{
|
||||
/// Waits for approve
|
||||
Pending,
|
||||
Approved,
|
||||
Rejected,
|
||||
/// Closed by applicant
|
||||
Closed
|
||||
}
|
||||
17
Domains/VisaApplicationDomain/PastVisa.cs
Normal file
17
Domains/VisaApplicationDomain/PastVisa.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using Domains.ApplicantDomain;
|
||||
|
||||
namespace Domains.VisaApplicationDomain;
|
||||
|
||||
/// Visa that <see cref="Applicant"/> already had
|
||||
/// <remarks>Owned</remarks>
|
||||
public class PastVisa
|
||||
{
|
||||
/// Date of issue
|
||||
public DateTime IssueDate { get; set; }
|
||||
|
||||
/// Name of visa
|
||||
public string Name { get; set; } = null!;
|
||||
|
||||
/// Date when visa expires
|
||||
public DateTime ExpirationDate { get; set; }
|
||||
}
|
||||
17
Domains/VisaApplicationDomain/PastVisit.cs
Normal file
17
Domains/VisaApplicationDomain/PastVisit.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using Domains.ApplicantDomain;
|
||||
|
||||
namespace Domains.VisaApplicationDomain;
|
||||
|
||||
/// Visit in a Schengen country that <see cref="Applicant"/> already had
|
||||
/// <remarks>Owned</remarks>
|
||||
public class PastVisit
|
||||
{
|
||||
/// First day of <see cref="PastVisit"/>
|
||||
public DateTime StartDate { get; set; }
|
||||
|
||||
/// Last day of <see cref="PastVisit"/>
|
||||
public DateTime EndDate { get; set; }
|
||||
|
||||
/// Destination country of <see cref="PastVisit"/>
|
||||
public string DestinationCountry { get; set; } = null!;
|
||||
}
|
||||
12
Domains/VisaApplicationDomain/PermissionToDestCountry.cs
Normal file
12
Domains/VisaApplicationDomain/PermissionToDestCountry.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
namespace Domains.VisaApplicationDomain;
|
||||
|
||||
/// Permission to enter the destination country
|
||||
/// <remarks>Owned</remarks>
|
||||
public class PermissionToDestCountry
|
||||
{
|
||||
/// Date when <see cref="PermissionToDestCountry"/> expires
|
||||
public DateTime ExpirationDate { get; set; }
|
||||
|
||||
/// Issuing authority
|
||||
public string Issuer { get; set; } = null!;
|
||||
}
|
||||
12
Domains/VisaApplicationDomain/ReentryPermit.cs
Normal file
12
Domains/VisaApplicationDomain/ReentryPermit.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
namespace Domains.VisaApplicationDomain;
|
||||
|
||||
/// Permission to enter a country the issuer wants to come from
|
||||
/// <remarks>Owned</remarks>
|
||||
public class ReentryPermit
|
||||
{
|
||||
/// Number of <see cref="ReentryPermit"/>
|
||||
public string Number { get; set; } = null!;
|
||||
|
||||
/// Date when <see cref="ReentryPermit"/> expires
|
||||
public DateTime ExpirationDate { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace Domains.VisaApplicationDomain;
|
||||
|
||||
/// Requested number of entries
|
||||
public enum RequestedNumberOfEntries
|
||||
{
|
||||
Many,
|
||||
One,
|
||||
Two
|
||||
}
|
||||
47
Domains/VisaApplicationDomain/VisaApplication.cs
Normal file
47
Domains/VisaApplicationDomain/VisaApplication.cs
Normal file
@@ -0,0 +1,47 @@
|
||||
using Domains.ApplicantDomain;
|
||||
|
||||
namespace Domains.VisaApplicationDomain;
|
||||
|
||||
/// Model of visit request
|
||||
public class VisaApplication : IEntity
|
||||
{
|
||||
/// Unique identifier of <see cref="VisaApplication"/>
|
||||
public Guid Id { get; private set; } = Guid.NewGuid();
|
||||
|
||||
/// Identifier of the <see cref="Applicant"/>
|
||||
public Guid ApplicantId { get; set; }
|
||||
|
||||
/// Status of application
|
||||
public ApplicationStatus Status { get; set; }
|
||||
|
||||
/// <inheritdoc cref="Domains.VisaApplicationDomain.ReentryPermit"/>
|
||||
/// <remarks>always null if <see cref="Applicant"/> is not a non-resident</remarks>
|
||||
public ReentryPermit? ReentryPermit { get; set; }
|
||||
|
||||
/// Country that <see cref="Applicant"/> wants to visit
|
||||
public string DestinationCountry { get; set; } = null!;
|
||||
|
||||
/// List of <see cref="PastVisa"/> that applicant had before
|
||||
public List<PastVisa> PastVisas { get; set; } = null!;
|
||||
|
||||
/// Permission to enter the destination country of <see cref="Applicant"/>
|
||||
/// <remarks>always null if <see cref="DestinationCountry"/> is Schengen</remarks>
|
||||
public PermissionToDestCountry? PermissionToDestCountry { get; set; }
|
||||
|
||||
public List<PastVisit> PastVisits { get; set; } = null!;
|
||||
|
||||
/// <see cref="Domains.VisaApplicationDomain.VisaCategory"/>
|
||||
public VisaCategory VisaCategory { get; set; }
|
||||
|
||||
/// Is for group
|
||||
public bool ForGroup { get; set; }
|
||||
|
||||
/// <see cref="Domains.VisaApplicationDomain.RequestedNumberOfEntries"/>
|
||||
public RequestedNumberOfEntries RequestedNumberOfEntries { get; set; }
|
||||
|
||||
/// When application was created
|
||||
public DateTime RequestDate { get; set; }
|
||||
|
||||
/// Valid days requested
|
||||
public int ValidDaysRequested { get; set; }
|
||||
}
|
||||
8
Domains/VisaApplicationDomain/VisaCategory.cs
Normal file
8
Domains/VisaApplicationDomain/VisaCategory.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace Domains.VisaApplicationDomain;
|
||||
|
||||
/// Category of visa
|
||||
public enum VisaCategory
|
||||
{
|
||||
Transit,
|
||||
ShortDated
|
||||
}
|
||||
Reference in New Issue
Block a user