public async Task ProcessSubmissionSucceededEvent(SubmissionSucceededEvent submissionSucceededEvent)
        {
            // flush audit service cache first
            await batchService.StorePayments(CancellationToken.None).ConfigureAwait(false);

            await dataLockEventRepository.DeleteEventsPriorToSubmission(
                submissionSucceededEvent.Ukprn,
                submissionSucceededEvent.AcademicYear,
                submissionSucceededEvent.CollectionPeriod,
                submissionSucceededEvent.IlrSubmissionDateTime
                ).ConfigureAwait(false);
        }
        public async Task WhenSubmissionSucceededEventForILRSubmittedAtArrives(string p0)
        {
            var submissionSucceededEvent = new SubmissionSucceededEvent
            {
                AcademicYear          = 1,
                CollectionPeriod      = 1,
                Ukprn                 = TestSession.Ukprn,
                IlrSubmissionDateTime = DateTime.Parse(p0)
            };

            await MessageSession.Send(submissionSucceededEvent).ConfigureAwait(false);
        }
Exemple #3
0
        public async Task RemovePreviousSubmissions(SubmissionSucceededEvent message)
        {
            paymentLogger.LogVerbose($"Handling ProcessSubmissionDeletion for {Id}, Job: {message.JobId}");
            try
            {
                using (var operation = telemetry.StartOperation())
                {
                    await fundingSourceService.RemovePreviousSubmissions(message.JobId, message.CollectionPeriod, message.AcademicYear, message.IlrSubmissionDateTime, message.Ukprn);

                    telemetry.StopOperation(operation);
                }
            }
            catch (Exception ex)
            {
                paymentLogger.LogError($"Failed to remove previous submission required payments. Error: {ex.Message}", ex);
                throw;
            }
        }
Exemple #4
0
        public async Task TestCacheFlushedAndEventsDeletedOnSuccess()
        {
            var submissionSucceededEvent = new SubmissionSucceededEvent
            {
                AcademicYear          = 1,
                CollectionPeriod      = 2,
                JobId                 = 3,
                Ukprn                 = 4,
                IlrSubmissionDateTime = DateTime.Now
            };

            batchService.Setup(b => b.StorePayments(It.IsAny <CancellationToken>()))
            .Returns(Task.CompletedTask)
            .Verifiable();

            repositoryMock.Setup(r => r.DeleteEventsPriorToSubmission(4, 1, 2, submissionSucceededEvent.IlrSubmissionDateTime))
            .Returns(Task.CompletedTask)
            .Verifiable();

            await processor.ProcessSubmissionSucceededEvent(submissionSucceededEvent).ConfigureAwait(false);
        }