示例#1
0
        public static async Task <ApplicationReview> GetAuthorisedApplicationReviewAsync(IRecruitVacancyClient client, ApplicationReviewRouteModel rm)
        {
            var applicationReview = await client.GetApplicationReviewAsync(rm.ApplicationReviewId);

            if (applicationReview.EmployerAccountId == rm.EmployerAccountId)
            {
                return(applicationReview);
            }

            throw new AuthorisationException(string.Format(ExceptionMessages.ApplicationReviewUnauthorisedAccess, rm.EmployerAccountId, applicationReview.EmployerAccountId, applicationReview.Id, applicationReview.VacancyReference));
        }
示例#2
0
        public static async Task <ApplicationReview> GetAuthorisedApplicationReviewAsync(IRecruitVacancyClient client, ApplicationReviewRouteModel rm)
        {
            var applicationReview = await client.GetApplicationReviewAsync(rm.ApplicationReviewId);

            //TODO: this needs changing when we implement application review story
            if (applicationReview.EmployerAccountId == rm.Ukprn.ToString()) // needs to be reviewed
            {
                return(applicationReview);
            }

            throw new AuthorisationException(string.Format(ExceptionMessages.ApplicationReviewUnauthorisedAccess, rm.Ukprn, applicationReview.EmployerAccountId, applicationReview.Id, applicationReview.VacancyReference)); // needs to be reviewed
        }
示例#3
0
        public static async Task <ApplicationReview> GetAuthorisedApplicationReviewAsync(IRecruitVacancyClient vacancyClient, ApplicationReviewRouteModel rm)
        {
            var applicationReview = await vacancyClient.GetApplicationReviewAsync(rm.ApplicationReviewId);

            var vacancy = await vacancyClient.GetVacancyAsync(rm.VacancyId.GetValueOrDefault());

            try
            {
                CheckAuthorisedAccess(vacancy, rm.Ukprn);
                return(applicationReview);
            }
            catch (Exception)
            {
                throw new AuthorisationException(string.Format(ExceptionMessages.ApplicationReviewUnauthorisedAccessForProvider, rm.Ukprn,
                                                               vacancy.TrainingProvider.Ukprn, rm.ApplicationReviewId, vacancy.Id));
            }
        }
示例#4
0
        public static async Task <ApplicationReview> GetAuthorisedApplicationReviewAsync(IRecruitVacancyClient client, ApplicationReviewRouteModel rm)
        {
            var applicationReview = await client.GetApplicationReviewAsync(rm.ApplicationReviewId);

            var vacancy = await client.GetVacancyAsync(rm.VacancyId);

            try
            {
                CheckAuthorisedAccess(vacancy, rm.EmployerAccountId);
                return(applicationReview);
            }
            catch (Exception)
            {
                throw new AuthorisationException(string.Format(ExceptionMessages.ApplicationReviewUnauthorisedAccess, rm.EmployerAccountId,
                                                               vacancy.EmployerAccountId, rm.ApplicationReviewId, vacancy.Id));
            }
        }
        public async Task <ApplicationReview> GetAuthorisedApplicationReviewAsync(ApplicationReviewRouteModel rm)
        {
            var applicationReview = _vacancyClient.GetApplicationReviewAsync(rm.ApplicationReviewId);
            var vacancy           = _vacancyClient.GetVacancyAsync(rm.VacancyId);

            await Task.WhenAll(applicationReview, vacancy);

            try
            {
                CheckAuthorisedAccess(vacancy.Result, rm.EmployerAccountId);
                return(applicationReview.Result);
            }
            catch (Exception)
            {
                throw new AuthorisationException(string.Format(ExceptionMessages.ApplicationReviewUnauthorisedAccess, rm.EmployerAccountId,
                                                               vacancy.Result.EmployerAccountId, rm.ApplicationReviewId, vacancy.Result.Id));
            }
        }