public ActionResult ExternallyApplied(Guid jobAdId) { const string method = "ExternallyApplied"; try { var jobAd = _jobAdsQuery.GetJobAd <JobAdEntry>(jobAdId); if (jobAd == null) { throw new ValidationErrorsException(new NotFoundValidationError("JobAdId", jobAdId)); } if (jobAd.Integration.IntegratorUserId == null) { throw new ValidationErrorsException(new RequiredValidationError("IntegratorUserId")); } // Get the applicant id. var user = CurrentUser; var applicantId = user == null ? (Guid?)null : user.Id; if (applicantId == null) { throw new ValidationErrorsException(new RequiredValidationError("ApplicantId")); } // Record the external application. _applicationsCommand.CreateApplication(new ExternalApplication { PositionId = jobAdId, ApplicantId = applicantId.Value }); Prompts.AddApplication(); } catch (UserException ex) { EventSource.Raise(Event.Error, method, "Cannot create an external application for job ad '" + jobAdId + "'.", ex, new JobAdsErrorHandler()); ModelState.AddModelError(ex, new JobAdsErrorHandler()); } return(Json(new JsonResponseModel())); }