public async Task <int> Create(JobApplicationCreateDto entityDto) { var applicationEntity = Mapper.Map <JobApplication>(entityDto); var jobOffer = await jobOfferRepository.GetAsync(entityDto.JobOfferId); var registeredUser = userRepository.GetByEmail(entityDto.Applicant.Email); if (registeredUser != null) { applicationEntity.Applicant = registeredUser; applicationEntity.ApplicantId = registeredUser.Id; } applicationEntity.QuestionAnswers = new List <QuestionAnswer>(); if (entityDto.QuestionAnswers != null) { for (int i = 0; i < entityDto.QuestionAnswers.Count; i++) { var answerEntity = new QuestionAnswer() { Application = applicationEntity, Text = entityDto.QuestionAnswers[i].Text, Question = jobOffer.Questions[i] }; applicationEntity.QuestionAnswers.Add(answerEntity); } } Repository.Create(applicationEntity); return(applicationEntity.Id); }
public async Task CreateApplication(JobApplicationCreateDto jobApplication) { using (var uow = UnitOfWorkProvider.Create()) { await jobApplicationService.Create(jobApplication); await uow.Commit(); } }
public async Task <ActionResult> Create(int jobOfferId) { var offer = await JobOfferFacade.GetOffer(jobOfferId); var user = User.Identity.Name.IsNullOrEmpty() ? new ApplicantDto() : await UserFacade.GetUserByEmail(User.Identity.Name); var model = new JobApplicationCreateDto { Applicant = user, JobOffer = offer, JobOfferId = offer.Id }; return(View(model)); }
public async Task <ActionResult> Create(JobApplicationCreateDto application) { if (ModelState.IsValid) { await JobApplicationFacade.CreateApplication(application); return(RedirectToAction("Details", "JobOffer", new { id = application.JobOfferId })); } var offer = await JobOfferFacade.GetOffer(application.JobOfferId); application.JobOffer = offer; application.JobOfferId = offer.Id; application.Applicant = User.Identity.Name.IsNullOrEmpty() ? new ApplicantDto() : await UserFacade.GetUserByEmail(User.Identity.Name); return(View(application)); }