public async Task <JobApplicationViewModel> AddJobApplications(JobApplicationViewModel model) { var mapped = _mapper.Map <JobApplications>(model); await _jobApplicationRepository.Add(mapped); return(model); }
public async Task <JobApplicationDto> Handle(SubmitJobApplicationCommand request, CancellationToken cancellationToken) { if (await _employmentQueries.GetJobPostingByIdAsync(request.JobPostingId) == null) { throw new PersonnelDomainException(ErrorTypes.JobApplicationError, new[] { "Invalid job posting id" }); } var myId = _identityService.GetUserIdentity(); var hasApplied = (await _employmentQueries.GetJobApplicationsByApplicantIdAsync(myId)) .Items .Any(app => app.JobPosting.Id == request.JobPostingId); if (hasApplied) { throw new PersonnelDomainException(ErrorTypes.JobApplicationError, new[] { "You have already applied for this position" }); } var memoryStream = new MemoryStream(); await request.Resume.CopyToAsync(memoryStream, cancellationToken); ; var jobApplication = new JobApplication(request.JobPostingId, myId); var result = _jobApplicationRepository.Add(jobApplication, memoryStream.ToArray()); await _jobApplicationRepository.UnitOfWork.SaveChangesAsync(); var jobApplicationDto = await _employmentQueries.GetJobApplicationByIdAsync(result.Id); return(jobApplicationDto); }
public void CreateJobApplication(JobApplication jobApplication) { jobApplicationRepository.Add(jobApplication); }