Changed exceptions, added action for closing applications by applicant

This commit is contained in:
2024-08-22 11:43:55 +03:00
parent 99625c957e
commit 7b7ca6ae36
12 changed files with 61 additions and 12 deletions

View File

@@ -14,4 +14,7 @@ public interface IVisaApplicationRequestsHandler
/// Creates application for applicant with specific user identifier
Task HandleCreateRequest(Guid userId, VisaApplicationCreateRequest request, CancellationToken cancellationToken);
/// Sets application status to closed
Task HandleCloseRequest(Guid userId, Guid applicationId, CancellationToken cancellationToken);
}

View File

@@ -114,4 +114,15 @@ public class VisaApplicationRequestsHandler(
await unitOfWork.SaveAsync(cancellationToken);
}
async Task IVisaApplicationRequestsHandler.HandleCloseRequest(Guid userId, Guid applicationId, CancellationToken cancellationToken)
{
var applicantId = await applicants.GetApplicantIdByUserId(userId, cancellationToken);
var application = await applications.GetByApplicantAndApplicationIdAsync(applicantId, applicationId, cancellationToken);
application.Status = ApplicationStatus.Closed;
await applications.UpdateAsync(application, cancellationToken);
await unitOfWork.SaveAsync(cancellationToken);
}
}

View File

@@ -7,4 +7,7 @@ public interface IVisaApplicationsRepository : IGenericRepository<VisaApplicatio
{
/// Get applications of one applicant
Task<List<VisaApplication>> GetOfApplicantAsync(Guid applicantId, CancellationToken cancellationToken);
/// Get specific application of specific user
Task<VisaApplication> GetByApplicantAndApplicationIdAsync(Guid applicantId, Guid applicationId, CancellationToken cancellationToken);
}