Пример #1
0
        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)));
        }
Пример #2
0
 public CreateApplicationRequest([NotNull] ApplicationCreateParameter parameter, bool sendApplicationEmail, [CanBeNull] Uri currentUrl)
     : base("Api/Application/?sendApplicationEmail=" + sendApplicationEmail + "&url=" + currentUrl, parameter)
 {
 }
Пример #3
0
 public CreateApplicationRequest(ApplicationCreateParameter parameter)
     : base("Application", parameter)
 {
 }