request of applications for applicant

This commit is contained in:
2024-08-20 16:28:43 +03:00
parent 57a69c09f3
commit d7921087ab
12 changed files with 136 additions and 24 deletions

View File

@@ -1,4 +1,5 @@
using ApplicationLayer.Services.VisaApplications.Requests;
using ApplicationLayer.Services.VisaApplications.Models;
using ApplicationLayer.Services.VisaApplications.Requests;
using Domains.VisaApplicationDomain;
namespace ApplicationLayer.Services.VisaApplications.Handlers;
@@ -6,6 +7,7 @@ namespace ApplicationLayer.Services.VisaApplications.Handlers;
public interface IVisaApplicationRequestsHandler
{
Task<List<VisaApplication>> Get(CancellationToken cancellationToken);
Task<List<VisaApplicationModelForApplicant>> GetForApplicant(Guid userId, CancellationToken cancellationToken);
void HandleCreateRequest(Guid userId, VisaApplicationCreateRequest request, CancellationToken cancellationToken);
Task HandleCreateRequest(Guid userId, VisaApplicationCreateRequest request, CancellationToken cancellationToken);
}

View File

@@ -17,7 +17,28 @@ public class VisaApplicationRequestsHandler(
{
public async Task<List<VisaApplication>> Get(CancellationToken cancellationToken) => await applications.GetAllAsync(cancellationToken);
public async void HandleCreateRequest(Guid userId, VisaApplicationCreateRequest request, CancellationToken cancellationToken)
public async Task<List<VisaApplicationModelForApplicant>> GetForApplicant(Guid userId, CancellationToken cancellationToken)
{
//todo mapper
var applicantId = await applicants.GetApplicantIdByUserId(userId, cancellationToken);
var visaApplications = await applications.GetOfApplicantAsync(applicantId, cancellationToken);
return visaApplications.Select(va => new VisaApplicationModelForApplicant
{
DestinationCountry = va.DestinationCountry.Name,
ValidDaysRequested = va.ValidDaysRequested,
ReentryPermit = va.ReentryPermit,
VisaCategory = va.VisaCategory,
RequestedNumberOfEntries = va.RequestedNumberOfEntries,
PermissionToDestCountry = va.PermissionToDestCountry,
ForGroup = va.ForGroup,
PastVisas = va.PastVisas,
RequestDate = va.RequestDate,
PastVisits = va.PastVisits.Select(pv =>
new PastVisitModel { DestinationCountry = pv.DestinationCountry.Name, StartDate = pv.StartDate, EndDate = pv.EndDate }).ToList()
}).ToList();
}
public async Task HandleCreateRequest(Guid userId, VisaApplicationCreateRequest request, CancellationToken cancellationToken)
{
//TODO fix
//TODO mapper
@@ -45,13 +66,13 @@ public class VisaApplicationRequestsHandler(
await unitOfWork.SaveAsync(cancellationToken);
}
private async Task<PastVisit> ConvertPastVisitModelToPastVisit(PastVisitModel model, CancellationToken cancellationToken)
private async Task<PastVisit> ConvertPastVisitModelToPastVisit(PastVisitModelForRequest modelForRequest, CancellationToken cancellationToken)
{
return new PastVisit
{
DestinationCountry = await countries.GetByIdAsync(model.DestinationCountryId, cancellationToken),
StartDate = model.StartDate,
EndDate = model.EndDate
DestinationCountry = await countries.GetByIdAsync(modelForRequest.DestinationCountryId, cancellationToken),
StartDate = modelForRequest.StartDate,
EndDate = modelForRequest.EndDate
};
}
}