public async Task <ActionResult> Index(int job, bool?ignoreDuplicate) { var applicant = await GetApplicant(); if (applicant == null) { return(RedirectToAction("Logoff", "Account")); } var jobObject = await GetJob(_jobsService, job); if (jobObject == null) { return(RedirectToAction("Index", "Jobs")); } var parameter = new ApplicationCreateParameter(job, applicant.Id) { RefreshApplicationWhenIfItAlreadyExists = ignoreDuplicate.HasValue && ignoreDuplicate.Value }; var result = await new CreateApplicationRequest(parameter).LoadResult(ApiClient); if (result.Errors.Any(x => x == ApplicationCreateResponse.Error.JobDoesNotExist || x == ApplicationCreateResponse.Error.ApplicantDoesNotExist)) { return(RedirectToAction("Index", "Jobs")); } if (result.Errors.Any(x => x == ApplicationCreateResponse.Error.ApplicationAlreadyExists)) { return(RedirectToAction("Refresh", "Application", new { job })); } if (result.Errors.Any(x => x == ApplicationCreateResponse.Error.ApplicationAlreadyExists)) { return(RedirectToAction("JobIsClosed", "Application", new { job })); } return(View(new IndexViewModel(jobObject))); }
public CreateApplicationRequest([NotNull] ApplicationCreateParameter parameter, bool sendApplicationEmail, [CanBeNull] Uri currentUrl) : base("Api/Application/?sendApplicationEmail=" + sendApplicationEmail + "&url=" + currentUrl, parameter) { }
public CreateApplicationRequest(ApplicationCreateParameter parameter) : base("Application", parameter) { }