diff --git a/TransactionProcessorACL.BusinessLogic.Tests/RequestHandlerTests.cs b/TransactionProcessorACL.BusinessLogic.Tests/RequestHandlerTests.cs index f5acd8c..1244958 100644 --- a/TransactionProcessorACL.BusinessLogic.Tests/RequestHandlerTests.cs +++ b/TransactionProcessorACL.BusinessLogic.Tests/RequestHandlerTests.cs @@ -41,6 +41,8 @@ public async Task ProcessLogonTransactionRequestHandler_Handle_RequestIsHandled( response.ShouldNotBeNull(); response.ResponseCode.ShouldBe(TestData.ResponseCode); response.ResponseMessage.ShouldBe(TestData.ResponseMessage); + response.EstateId.ShouldBe(TestData.EstateId); + response.MerchantId.ShouldBe(TestData.MerchantId); } [Fact] diff --git a/TransactionProcessorACL.BusinessLogic/Requests/ProcessLogonTransactionRequest.cs b/TransactionProcessorACL.BusinessLogic/Requests/ProcessLogonTransactionRequest.cs index 8c614a1..76ef4ff 100644 --- a/TransactionProcessorACL.BusinessLogic/Requests/ProcessLogonTransactionRequest.cs +++ b/TransactionProcessorACL.BusinessLogic/Requests/ProcessLogonTransactionRequest.cs @@ -1,6 +1,7 @@ namespace TransactionProcessorACL.BusinessLogic.Requests { using System; + using System.Diagnostics.CodeAnalysis; using MediatR; using Models; @@ -12,6 +13,7 @@ public class ProcessLogonTransactionRequest : IRequest { + /// + /// Initializes a new instance of the class. + /// + [ExcludeFromCodeCoverage] public ProcessSaleTransactionRequest() { diff --git a/TransactionProcessorACL.BusinessLogic/Services/TransactionProcessorACLApplicationService.cs b/TransactionProcessorACL.BusinessLogic/Services/TransactionProcessorACLApplicationService.cs index 6376179..0ce02ad 100644 --- a/TransactionProcessorACL.BusinessLogic/Services/TransactionProcessorACLApplicationService.cs +++ b/TransactionProcessorACL.BusinessLogic/Services/TransactionProcessorACLApplicationService.cs @@ -100,7 +100,9 @@ public async Task ProcessLogonTransaction(Guid response = new ProcessLogonTransactionResponse { ResponseCode = logonTransactionResponse.ResponseCode, - ResponseMessage = logonTransactionResponse.ResponseMessage + ResponseMessage = logonTransactionResponse.ResponseMessage, + EstateId = estateId, + MerchantId = merchantId }; } catch(Exception ex) @@ -111,8 +113,10 @@ public async Task ProcessLogonTransaction(Guid response = new ProcessLogonTransactionResponse { ResponseCode = "0001", // Request Message error - ResponseMessage = ex.InnerException.Message - }; + ResponseMessage = ex.InnerException.Message, + EstateId = estateId, + MerchantId = merchantId + }; } } diff --git a/TransactionProcessorACL.DataTransferObjects/Responses/LogonTransactionResponseMessage.cs b/TransactionProcessorACL.DataTransferObjects/Responses/LogonTransactionResponseMessage.cs new file mode 100644 index 0000000..22aa1de --- /dev/null +++ b/TransactionProcessorACL.DataTransferObjects/Responses/LogonTransactionResponseMessage.cs @@ -0,0 +1,25 @@ +namespace TransactionProcessorACL.DataTransferObjects.Responses +{ + using System; + using System.Diagnostics.CodeAnalysis; + + [ExcludeFromCodeCoverage] + public class LogonTransactionResponseMessage : TransactionResponseMessage + { + /// + /// Gets or sets the estate identifier. + /// + /// + /// The estate identifier. + /// + public Guid EstateId { get; set; } + + /// + /// Gets or sets the merchant identifier. + /// + /// + /// The merchant identifier. + /// + public Guid MerchantId { get; set; } + } +} \ No newline at end of file diff --git a/TransactionProcessorACL.DataTransferObjects/Responses/SaleTransactionResponseMessage.cs b/TransactionProcessorACL.DataTransferObjects/Responses/SaleTransactionResponseMessage.cs new file mode 100644 index 0000000..f99cf55 --- /dev/null +++ b/TransactionProcessorACL.DataTransferObjects/Responses/SaleTransactionResponseMessage.cs @@ -0,0 +1,10 @@ +namespace TransactionProcessorACL.DataTransferObjects.Responses +{ + using System.Diagnostics.CodeAnalysis; + + [ExcludeFromCodeCoverage] + public class SaleTransactionResponseMessage : TransactionResponseMessage + { + + } +} \ No newline at end of file diff --git a/TransactionProcessorACL.DataTransferObjects/Responses/TransactionResponseMessage.cs b/TransactionProcessorACL.DataTransferObjects/Responses/TransactionResponseMessage.cs index aba935c..ad33df1 100644 --- a/TransactionProcessorACL.DataTransferObjects/Responses/TransactionResponseMessage.cs +++ b/TransactionProcessorACL.DataTransferObjects/Responses/TransactionResponseMessage.cs @@ -25,16 +25,4 @@ public class TransactionResponseMessage /// public String ResponseMessage { get; set; } } - - [ExcludeFromCodeCoverage] - public class LogonTransactionResponseMessage : TransactionResponseMessage - { - - } - - [ExcludeFromCodeCoverage] - public class SaleTransactionResponseMessage : TransactionResponseMessage - { - - } } diff --git a/TransactionProcessorACL.Models/ProcessLogonTransactionResponse.cs b/TransactionProcessorACL.Models/ProcessLogonTransactionResponse.cs index 22b8025..4f726f0 100644 --- a/TransactionProcessorACL.Models/ProcessLogonTransactionResponse.cs +++ b/TransactionProcessorACL.Models/ProcessLogonTransactionResponse.cs @@ -22,5 +22,21 @@ public class ProcessLogonTransactionResponse /// The response message. /// public String ResponseMessage { get; set; } + + /// + /// Gets or sets the estate identifier. + /// + /// + /// The estate identifier. + /// + public Guid EstateId { get; set; } + + /// + /// Gets or sets the merchant identifier. + /// + /// + /// The merchant identifier. + /// + public Guid MerchantId { get; set; } } } diff --git a/TransactionProcessorACL.Testing/TestData.cs b/TransactionProcessorACL.Testing/TestData.cs index a955ef9..78d664f 100644 --- a/TransactionProcessorACL.Testing/TestData.cs +++ b/TransactionProcessorACL.Testing/TestData.cs @@ -77,7 +77,9 @@ public class TestData public static ProcessLogonTransactionResponse ProcessLogonTransactionResponse = new ProcessLogonTransactionResponse { ResponseMessage = TestData.ResponseMessage, - ResponseCode = TestData.ResponseCode + ResponseCode = TestData.ResponseCode, + EstateId = TestData.EstateId, + MerchantId = TestData.MerchantId }; public static SerialisedMessage SerialisedMessageResponse = new SerialisedMessage diff --git a/TransactionProcessorACL.Tests/General/ModelFactoryTests.cs b/TransactionProcessorACL.Tests/General/ModelFactoryTests.cs index 6acf649..b9c6162 100644 --- a/TransactionProcessorACL.Tests/General/ModelFactoryTests.cs +++ b/TransactionProcessorACL.Tests/General/ModelFactoryTests.cs @@ -25,6 +25,8 @@ public void ModelFactory_ConvertFrom_ProcessLogonTransactionResponse_IsConverted response.ShouldNotBeNull(); response.ResponseMessage.ShouldBe(processLogonTransactionResponse.ResponseMessage); response.ResponseCode.ShouldBe(processLogonTransactionResponse.ResponseCode); + response.EstateId.ShouldBe(processLogonTransactionResponse.EstateId); + response.MerchantId.ShouldBe(processLogonTransactionResponse.MerchantId); } [Fact] diff --git a/TransactionProcessorACL/Factories/ModelFactory.cs b/TransactionProcessorACL/Factories/ModelFactory.cs index e3a665f..cbc73bb 100644 --- a/TransactionProcessorACL/Factories/ModelFactory.cs +++ b/TransactionProcessorACL/Factories/ModelFactory.cs @@ -27,6 +27,8 @@ public LogonTransactionResponseMessage ConvertFrom(ProcessLogonTransactionRespon logonTransactionResponseMessage.ResponseMessage = processLogonTransactionResponse.ResponseMessage; logonTransactionResponseMessage.ResponseCode = processLogonTransactionResponse.ResponseCode; + logonTransactionResponseMessage.MerchantId = processLogonTransactionResponse.MerchantId; + logonTransactionResponseMessage.EstateId = processLogonTransactionResponse.EstateId; return logonTransactionResponseMessage; }