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)); }