public async Task SendIlrSubmissionEvent(long ukprn, short collectionYear, byte collectionPeriod, long jobId, bool success) { try { dataContext.ClearJobId(jobId); var subscriptionName = DcConfiguration.SubscriptionName; var dto = new JobContextDto { JobId = jobId, KeyValuePairs = new Dictionary <string, object> { { JobContextMessageKey.UkPrn, ukprn }, { JobContextMessageKey.CollectionYear, collectionYear }, { JobContextMessageKey.ReturnPeriod, collectionPeriod }, { JobContextMessageKey.Username, "PV2-Automated" } }, SubmissionDateTimeUtc = DateTime.UtcNow, TopicPointer = 0, Topics = new List <TopicItemDto> { new TopicItemDto { SubscriptionName = subscriptionName, Tasks = new List <TaskItemDto> { new TaskItemDto { SupportsParallelExecution = false, Tasks = new List <string> { success?"JobSuccess":"JobFailure" } } } } } }; await topicPublishingService.PublishAsync(dto, new Dictionary <string, object> { { "To", "GenerateFM36Payments" } }, "GenerateFM36Payments"); } catch (Exception e) { Console.WriteLine(e); throw; } }