From 0f9251fcd00c37976559dd9bc7f5d6188415482a Mon Sep 17 00:00:00 2001 From: Stuart Ferguson Date: Wed, 18 Dec 2024 15:58:53 +0000 Subject: [PATCH] return failure reasons --- FileProcessor.FileAggregate/FileAggregate.cs | 1 + FileProcessor/Common/ModelFactory.cs | 3 ++- FileProcessor/Controllers/FileController.cs | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/FileProcessor.FileAggregate/FileAggregate.cs b/FileProcessor.FileAggregate/FileAggregate.cs index 8bee122..a2363ca 100644 --- a/FileProcessor.FileAggregate/FileAggregate.cs +++ b/FileProcessor.FileAggregate/FileAggregate.cs @@ -87,6 +87,7 @@ public static void PlayEvent(this FileAggregate aggregate, FileLineProcessingSuc public static void PlayEvent(this FileAggregate aggregate, FileLineProcessingFailedEvent domainEvent) { + FileLine fileLine = aggregate.FileLines.Single(f => f.LineNumber == domainEvent.LineNumber); fileLine.TransactionId = domainEvent.TransactionId; fileLine.ProcessingResult = ProcessingResult.Failed; diff --git a/FileProcessor/Common/ModelFactory.cs b/FileProcessor/Common/ModelFactory.cs index 340e7ed..f01441b 100644 --- a/FileProcessor/Common/ModelFactory.cs +++ b/FileProcessor/Common/ModelFactory.cs @@ -86,7 +86,8 @@ public FileDetailsResponse ConvertFrom(Models.FileDetails fileDetails) LineData = fileDetailsFileLine.LineData, LineNumber = fileDetailsFileLine.LineNumber, ProcessingResult = this.TranslateProcessingResult(fileDetailsFileLine.ProcessingResult), - TransactionId = fileDetailsFileLine.TransactionId + TransactionId = fileDetailsFileLine.TransactionId, + RejectionReason = fileDetailsFileLine.RejectedReason }); } diff --git a/FileProcessor/Controllers/FileController.cs b/FileProcessor/Controllers/FileController.cs index f127693..9bb2916 100644 --- a/FileProcessor/Controllers/FileController.cs +++ b/FileProcessor/Controllers/FileController.cs @@ -125,7 +125,7 @@ public async Task GetFile([FromRoute] Guid fileId, if (result.IsFailed) return ResultHelpers.CreateFailure(result).ToActionResultX(); - var response = this.ModelFactory.ConvertFrom(result.Data); + DataTransferObjects.Responses.FileDetails response = this.ModelFactory.ConvertFrom(result.Data); return Result.Success(response).ToActionResultX();