public async Task Handle(VacancyPublishedEvent notification, CancellationToken cancellationToken)
        {
            var vacancyTask   = _repository.GetVacancyAsync(notification.VacancyId);
            var programmeTask = _referenceDataReader.GetReferenceData <ApprenticeshipProgrammes>();

            await Task.WhenAll(vacancyTask, programmeTask);

            var vacancy   = vacancyTask.Result;
            var programme = programmeTask.Result.Data.Single(p => p.Id == vacancy.ProgrammeId);

            var liveVacancy = vacancy.ToVacancyProjectionBase <LiveVacancy>(programme, () => QueryViewType.LiveVacancy.GetIdValue(vacancy.VacancyReference.ToString()), _timeProvider);
            await _queryStoreWriter.UpdateLiveVacancyAsync(liveVacancy);
        }
 public Task Handle(VacancyPublishedEvent notification, CancellationToken cancellationToken)
 {
     return(Handle(notification));
 }