diff --git a/TransactionProcessorACL.Tests/General/ModelFactoryTests.cs b/TransactionProcessorACL.Tests/General/ModelFactoryTests.cs index e0c69e1..51d630b 100644 --- a/TransactionProcessorACL.Tests/General/ModelFactoryTests.cs +++ b/TransactionProcessorACL.Tests/General/ModelFactoryTests.cs @@ -16,11 +16,9 @@ public class ModelFactoryTests [Fact] public void ModelFactory_ConvertFrom_ProcessLogonTransactionResponse_IsConverted() { - ModelFactory modelFactory = new ModelFactory(); - ProcessLogonTransactionResponse processLogonTransactionResponse = TestData.ProcessLogonTransactionResponse; - LogonTransactionResponseMessage response = modelFactory.ConvertFrom(processLogonTransactionResponse); + LogonTransactionResponseMessage response = ModelFactory.ConvertFrom(processLogonTransactionResponse); response.ShouldNotBeNull(); response.ResponseMessage.ShouldBe(processLogonTransactionResponse.ResponseMessage); @@ -32,11 +30,9 @@ public void ModelFactory_ConvertFrom_ProcessLogonTransactionResponse_IsConverted [Fact] public void ModelFactory_ConvertFrom_ProcessLogonTransactionResponse_NullValue_IsConverted() { - ModelFactory modelFactory = new ModelFactory(); - ProcessLogonTransactionResponse processLogonTransactionResponse = null; - LogonTransactionResponseMessage response = modelFactory.ConvertFrom(processLogonTransactionResponse); + LogonTransactionResponseMessage response = ModelFactory.ConvertFrom(processLogonTransactionResponse); response.ShouldBeNull(); } @@ -44,11 +40,9 @@ public void ModelFactory_ConvertFrom_ProcessLogonTransactionResponse_NullValue_I [Fact] public void ModelFactory_ConvertFrom_ProcessSaleTransactionResponse_IsConverted() { - ModelFactory modelFactory = new ModelFactory(); - ProcessSaleTransactionResponse processSaleTransactionResponse = TestData.ProcessSaleTransactionResponse; - SaleTransactionResponseMessage response = modelFactory.ConvertFrom(processSaleTransactionResponse); + SaleTransactionResponseMessage response = ModelFactory.ConvertFrom(processSaleTransactionResponse); response.ShouldNotBeNull(); response.ResponseMessage.ShouldBe(processSaleTransactionResponse.ResponseMessage); @@ -60,11 +54,9 @@ public void ModelFactory_ConvertFrom_ProcessSaleTransactionResponse_IsConverted( [Fact] public void ModelFactory_ConvertFrom_ProcessSaleTransactionResponse_NullValue_IsConverted() { - ModelFactory modelFactory = new ModelFactory(); - ProcessSaleTransactionResponse processSaleTransactionResponse = null; - SaleTransactionResponseMessage response = modelFactory.ConvertFrom(processSaleTransactionResponse); + SaleTransactionResponseMessage response = ModelFactory.ConvertFrom(processSaleTransactionResponse); response.ShouldBeNull(); } @@ -72,11 +64,9 @@ public void ModelFactory_ConvertFrom_ProcessSaleTransactionResponse_NullValue_Is [Fact] public void ModelFactory_ConvertFrom_ProcessReconciliationResponse_IsConverted() { - ModelFactory modelFactory = new ModelFactory(); - ProcessReconciliationResponse processReconciliationResponse = TestData.ProcessReconciliationResponse; - ReconciliationResponseMessage response = modelFactory.ConvertFrom(processReconciliationResponse); + ReconciliationResponseMessage response = ModelFactory.ConvertFrom(processReconciliationResponse); response.ShouldNotBeNull(); response.ResponseMessage.ShouldBe(processReconciliationResponse.ResponseMessage); @@ -88,11 +78,9 @@ public void ModelFactory_ConvertFrom_ProcessReconciliationResponse_IsConverted() [Fact] public void ModelFactory_ConvertFrom_ProcessReconciliationResponse_NullValue_IsConverted() { - ModelFactory modelFactory = new ModelFactory(); - ProcessReconciliationResponse processReconciliationResponse = null; - ReconciliationResponseMessage response = modelFactory.ConvertFrom(processReconciliationResponse); + ReconciliationResponseMessage response = ModelFactory.ConvertFrom(processReconciliationResponse); response.ShouldBeNull(); } @@ -100,10 +88,8 @@ public void ModelFactory_ConvertFrom_ProcessReconciliationResponse_NullValue_IsC [Fact] public void ModelFactory_ConvertFrom_GetVoucherResponse_IsConverted() { - ModelFactory modelFactory = new ModelFactory(); - GetVoucherResponse model = TestData.GetVoucherResponseModel; - GetVoucherResponseMessage dto = modelFactory.ConvertFrom(model); + GetVoucherResponseMessage dto = ModelFactory.ConvertFrom(model); dto.ShouldNotBeNull(); dto.ContractId.ShouldBe(model.ContractId); @@ -120,10 +106,8 @@ public void ModelFactory_ConvertFrom_GetVoucherResponse_IsConverted() [Fact] public void ModelFactory_ConvertFrom_GetVoucherResponse_NullValue_IsConverted() { - ModelFactory modelFactory = new ModelFactory(); - GetVoucherResponse model = null; - GetVoucherResponseMessage dto = modelFactory.ConvertFrom(model); + GetVoucherResponseMessage dto = ModelFactory.ConvertFrom(model); dto.ShouldBeNull(); } @@ -131,10 +115,8 @@ public void ModelFactory_ConvertFrom_GetVoucherResponse_NullValue_IsConverted() [Fact] public void ModelFactory_ConvertFrom_RedeemVoucherResponse_IsConverted() { - ModelFactory modelFactory = new ModelFactory(); - RedeemVoucherResponse model = TestData.RedeemVoucherResponseModel; - RedeemVoucherResponseMessage dto = modelFactory.ConvertFrom(model); + RedeemVoucherResponseMessage dto = ModelFactory.ConvertFrom(model); dto.ShouldNotBeNull(); dto.ContractId.ShouldBe(model.ContractId); @@ -149,10 +131,8 @@ public void ModelFactory_ConvertFrom_RedeemVoucherResponse_IsConverted() [Fact] public void ModelFactory_ConvertFrom_RedeemVoucherResponse_NullValue_IsConverted() { - ModelFactory modelFactory = new ModelFactory(); - RedeemVoucherResponse model = null; - RedeemVoucherResponseMessage dto = modelFactory.ConvertFrom(model); + RedeemVoucherResponseMessage dto = ModelFactory.ConvertFrom(model); dto.ShouldBeNull(); } @@ -160,8 +140,6 @@ public void ModelFactory_ConvertFrom_RedeemVoucherResponse_NullValue_IsConverted [Fact] public void ModelFactory_ConvertFrom_MerchantResponse_IsConverted() { - ModelFactory modelFactory = new ModelFactory(); - Models.MerchantResponse model = new Models.MerchantResponse { EstateId = TestData.EstateId, @@ -223,7 +201,7 @@ public void ModelFactory_ConvertFrom_MerchantResponse_IsConverted() } }; - DataTransferObjects.Responses.MerchantResponse dto = modelFactory.ConvertFrom(model); + DataTransferObjects.Responses.MerchantResponse dto = ModelFactory.ConvertFrom(model); dto.ShouldNotBeNull(); dto.EstateId.ShouldBe(model.EstateId); @@ -248,10 +226,8 @@ public void ModelFactory_ConvertFrom_MerchantResponse_IsConverted() [Fact] public void ModelFactory_ConvertFrom_MerchantResponse_NullValue_IsConverted() { - ModelFactory modelFactory = new ModelFactory(); - Models.MerchantResponse model = null; - DataTransferObjects.Responses.MerchantResponse dto = modelFactory.ConvertFrom(model); + DataTransferObjects.Responses.MerchantResponse dto = ModelFactory.ConvertFrom(model); dto.ShouldBeNull(); } @@ -259,8 +235,6 @@ public void ModelFactory_ConvertFrom_MerchantResponse_NullValue_IsConverted() [Fact] public void ModelFactory_ConvertFrom_ContractResponses_IsConverted() { - ModelFactory modelFactory = new ModelFactory(); - Guid contractId = Guid.NewGuid(); Guid estateId = Guid.NewGuid(); Guid operatorId = Guid.NewGuid(); @@ -279,8 +253,7 @@ public void ModelFactory_ConvertFrom_ContractResponses_IsConverted() OperatorName = "Operator 1", Products = new List { - new Models.ContractProduct - { + new() { DisplayText = "Display", Name = "Product", ProductId = productId, @@ -289,8 +262,7 @@ public void ModelFactory_ConvertFrom_ContractResponses_IsConverted() ProductType = Models.ProductType.BillPayment, TransactionFees = new List { - new Models.ContractProductTransactionFee - { + new() { CalculationType = Models.CalculationType.Fixed, FeeType = Models.FeeType.Merchant, Description = "Fee", @@ -300,8 +272,7 @@ public void ModelFactory_ConvertFrom_ContractResponses_IsConverted() } } }, - new Models.ContractProduct - { + new() { DisplayText = "Display 2", Name = "Product 2", ProductId = Guid.NewGuid(), @@ -310,8 +281,7 @@ public void ModelFactory_ConvertFrom_ContractResponses_IsConverted() ProductType = Models.ProductType.MobileTopup, TransactionFees = new List { - new Models.ContractProductTransactionFee - { + new() { CalculationType = Models.CalculationType.Percentage, FeeType = Models.FeeType.ServiceProvider, Description = "Fee 2", @@ -321,8 +291,7 @@ public void ModelFactory_ConvertFrom_ContractResponses_IsConverted() } } }, - new Models.ContractProduct - { + new() { DisplayText = "Display 3", Name = "Product 3", ProductId = Guid.NewGuid(), @@ -335,7 +304,7 @@ public void ModelFactory_ConvertFrom_ContractResponses_IsConverted() } }; - List dto = modelFactory.ConvertFrom(model); + List dto = ModelFactory.ConvertFrom(model); dto.ShouldNotBeNull(); dto.Count.ShouldBe(1); @@ -370,34 +339,17 @@ public void ModelFactory_ConvertFrom_ContractResponses_IsConverted() [Fact] public void ModelFactory_ConvertFrom_ContractResponses_NullValue_IsConverted() { - ModelFactory modelFactory = new ModelFactory(); - List model = null; - List dto = modelFactory.ConvertFrom(model); + List dto = ModelFactory.ConvertFrom(model); dto.Count.ShouldBe(0); } [Fact] - public void ModelFactory_ConvertFrom_ContractResponses_UnknownProductType_IsMappedToNotSet() - { - ModelFactory modelFactory = new ModelFactory(); - List model = new() - { - new Models.ContractResponse - { - Products = new List - { - new Models.ContractProduct - { - ProductType = (Models.ProductType)999, - TransactionFees = new List() - } - } - } - }; + public void ModelFactory_ConvertFrom_ContractResponses_UnknownProductType_IsMappedToNotSet() { + List model = new() { new Models.ContractResponse { Products = new List { new Models.ContractProduct { ProductType = (Models.ProductType)999, TransactionFees = new List() } } } }; - List dto = modelFactory.ConvertFrom(model); + List dto = ModelFactory.ConvertFrom(model); dto[0].Products[0].ProductType.ShouldBe(DataTransferObjects.Responses.ProductType.NotSet); } diff --git a/TransactionProcessorACL/Bootstrapper/MiscRegistry.cs b/TransactionProcessorACL/Bootstrapper/MiscRegistry.cs index 6fbdcf4..5fa5b85 100644 --- a/TransactionProcessorACL/Bootstrapper/MiscRegistry.cs +++ b/TransactionProcessorACL/Bootstrapper/MiscRegistry.cs @@ -29,11 +29,8 @@ public MiscRegistry() bool logResponses = ConfigurationReader.GetValueOrDefault("MiddlewareLogging", "LogResponses", true); LogLevel middlewareLogLevel = ConfigurationReader.GetValueOrDefault("MiddlewareLogging", "MiddlewareLogLevel", LogLevel.Warning); - RequestResponseMiddlewareLoggingConfig config = - new RequestResponseMiddlewareLoggingConfig(middlewareLogLevel, logRequests, logResponses); - - this.AddSingleton(); - + RequestResponseMiddlewareLoggingConfig config = new(middlewareLogLevel, logRequests, logResponses); + this.AddSingleton(config); } diff --git a/TransactionProcessorACL/Factories/IModelFactory.cs b/TransactionProcessorACL/Factories/IModelFactory.cs deleted file mode 100644 index 491e23d..0000000 --- a/TransactionProcessorACL/Factories/IModelFactory.cs +++ /dev/null @@ -1,30 +0,0 @@ -namespace TransactionProcessorACL.Factories -{ - using System.Collections.Generic; - using DataTransferObjects.Responses; - using Models; - - /// - /// - /// - public interface IModelFactory - { - #region Methods - - LogonTransactionResponseMessage ConvertFrom(ProcessLogonTransactionResponse processLogonTransactionResponse); - - SaleTransactionResponseMessage ConvertFrom(ProcessSaleTransactionResponse processSaleTransactionResponse); - - ReconciliationResponseMessage ConvertFrom(ProcessReconciliationResponse processReconciliationResponse); - - RedeemVoucherResponseMessage ConvertFrom(RedeemVoucherResponse model); - - GetVoucherResponseMessage ConvertFrom(GetVoucherResponse model); - - DataTransferObjects.Responses.MerchantResponse ConvertFrom(Models.MerchantResponse model); - - List ConvertFrom(List model); - - #endregion - } -} diff --git a/TransactionProcessorACL/Factories/ModelFactory.cs b/TransactionProcessorACL/Factories/ModelFactory.cs index 82965f4..50e9110 100644 --- a/TransactionProcessorACL/Factories/ModelFactory.cs +++ b/TransactionProcessorACL/Factories/ModelFactory.cs @@ -5,18 +5,11 @@ namespace TransactionProcessorACL.Factories using DataTransferObjects.Responses; using Models; - /// - /// - /// - /// - public class ModelFactory : IModelFactory + public static class ModelFactory { - #region Methods - - public LogonTransactionResponseMessage ConvertFrom(ProcessLogonTransactionResponse processLogonTransactionResponse) + public static LogonTransactionResponseMessage ConvertFrom(ProcessLogonTransactionResponse processLogonTransactionResponse) { - if (processLogonTransactionResponse == null) - { + if (processLogonTransactionResponse == null) { return null; } @@ -31,10 +24,9 @@ public LogonTransactionResponseMessage ConvertFrom(ProcessLogonTransactionRespon return logonTransactionResponseMessage; } - public SaleTransactionResponseMessage ConvertFrom(ProcessSaleTransactionResponse processSaleTransactionResponse) + public static SaleTransactionResponseMessage ConvertFrom(ProcessSaleTransactionResponse processSaleTransactionResponse) { - if (processSaleTransactionResponse == null) - { + if (processSaleTransactionResponse == null) { return null; } @@ -51,10 +43,9 @@ public SaleTransactionResponseMessage ConvertFrom(ProcessSaleTransactionResponse return saleTransactionResponseMessage; } - public ReconciliationResponseMessage ConvertFrom(ProcessReconciliationResponse processReconciliationResponse) + public static ReconciliationResponseMessage ConvertFrom(ProcessReconciliationResponse processReconciliationResponse) { - if (processReconciliationResponse == null) - { + if (processReconciliationResponse == null) { return null; } @@ -69,10 +60,9 @@ public ReconciliationResponseMessage ConvertFrom(ProcessReconciliationResponse p return reconciliationResponseMessage; } - public GetVoucherResponseMessage ConvertFrom(GetVoucherResponse model) + public static GetVoucherResponseMessage ConvertFrom(GetVoucherResponse model) { - if (model == null) - { + if (model == null) { return null; } @@ -92,15 +82,62 @@ public GetVoucherResponseMessage ConvertFrom(GetVoucherResponse model) return responseMessage; } - public DataTransferObjects.Responses.MerchantResponse ConvertFrom(Models.MerchantResponse model) + public static DataTransferObjects.Responses.AddressResponse ConvertFrom(Models.AddressResponse model) { - if (model == null) - { + DataTransferObjects.Responses.AddressResponse addressResponse = new() { + AddressId = model.AddressId, + AddressLine1 = model.AddressLine1, + AddressLine2 = model.AddressLine2, + AddressLine3 = model.AddressLine3, + AddressLine4 = model.AddressLine4, + Country = model.Country, + PostalCode = model.PostalCode, + Region = model.Region, + Town = model.Town + }; + return addressResponse; + } + + public static DataTransferObjects.Responses.ContactResponse ConvertFrom(Models.ContactResponse model) + { + DataTransferObjects.Responses.ContactResponse contactResponse = new() { + ContactId = model.ContactId, + ContactName = model.ContactName, + ContactPhoneNumber = model.ContactPhoneNumber, + ContactEmailAddress = model.ContactEmailAddress + }; + return contactResponse; + } + + public static DataTransferObjects.Responses.MerchantContractResponse ConvertFrom(Models.MerchantContractResponse model) + { + DataTransferObjects.Responses.MerchantContractResponse merchantContractResponse = new() { + ContractId = model.ContractId, + IsDeleted = model.IsDeleted, + ContractProducts = new List(model.ContractProducts) + }; + return merchantContractResponse; + } + + public static DataTransferObjects.Responses.MerchantOperatorResponse ConvertFrom(Models.MerchantOperatorResponse model) + { + DataTransferObjects.Responses.MerchantOperatorResponse merchantOperatorResponse = new() { + OperatorId = model.OperatorId, + IsDeleted = model.IsDeleted, + MerchantNumber = model.MerchantNumber, + Name = model.Name, + TerminalNumber = model.TerminalNumber + }; + return merchantOperatorResponse; + } + + public static DataTransferObjects.Responses.MerchantResponse ConvertFrom(Models.MerchantResponse model) + { + if (model == null) { return null; } - DataTransferObjects.Responses.MerchantResponse merchantResponse = new DataTransferObjects.Responses.MerchantResponse - { + DataTransferObjects.Responses.MerchantResponse merchantResponse = new() { EstateId = model.EstateId, MerchantId = model.MerchantId, EstateReportingId = model.EstateReportingId, @@ -121,142 +158,111 @@ public DataTransferObjects.Responses.MerchantResponse ConvertFrom(Models.Merchan Operators = new List() }; - foreach (Models.AddressResponse addressModel in model.Addresses) - { - merchantResponse.Addresses.Add(new DataTransferObjects.Responses.AddressResponse - { - AddressId = addressModel.AddressId, - AddressLine1 = addressModel.AddressLine1, - AddressLine2 = addressModel.AddressLine2, - AddressLine3 = addressModel.AddressLine3, - AddressLine4 = addressModel.AddressLine4, - Country = addressModel.Country, - PostalCode = addressModel.PostalCode, - Region = addressModel.Region, - Town = addressModel.Town - }); + foreach (Models.AddressResponse addressModel in model.Addresses) { + merchantResponse.Addresses.Add(ConvertFrom(addressModel)); } - foreach (Models.ContactResponse contactModel in model.Contacts) - { - merchantResponse.Contacts.Add(new DataTransferObjects.Responses.ContactResponse - { - ContactId = contactModel.ContactId, - ContactName = contactModel.ContactName, - ContactPhoneNumber = contactModel.ContactPhoneNumber, - ContactEmailAddress = contactModel.ContactEmailAddress - }); + foreach (Models.ContactResponse contactModel in model.Contacts) { + merchantResponse.Contacts.Add(ConvertFrom(contactModel)); } - foreach (Models.MerchantContractResponse merchantContractResponse in model.Contracts) - { - DataTransferObjects.Responses.MerchantContractResponse contract = new DataTransferObjects.Responses.MerchantContractResponse - { - ContractId = merchantContractResponse.ContractId, - IsDeleted = merchantContractResponse.IsDeleted, - ContractProducts = new List(merchantContractResponse.ContractProducts) - }; - - merchantResponse.Contracts.Add(contract); + foreach (Models.MerchantContractResponse merchantContractResponse in model.Contracts) { + merchantResponse.Contracts.Add(ConvertFrom(merchantContractResponse)); } - foreach (KeyValuePair device in model.Devices) - { + foreach (KeyValuePair device in model.Devices) { merchantResponse.Devices.Add(device.Key, device.Value); } - foreach (Models.MerchantOperatorResponse merchantOperatorResponse in model.Operators) - { - merchantResponse.Operators.Add(new DataTransferObjects.Responses.MerchantOperatorResponse - { - OperatorId = merchantOperatorResponse.OperatorId, - IsDeleted = merchantOperatorResponse.IsDeleted, - MerchantNumber = merchantOperatorResponse.MerchantNumber, - Name = merchantOperatorResponse.Name, - TerminalNumber = merchantOperatorResponse.TerminalNumber - }); + foreach (Models.MerchantOperatorResponse merchantOperatorResponse in model.Operators) { + merchantResponse.Operators.Add(ConvertFrom(merchantOperatorResponse)); } return merchantResponse; } - public List ConvertFrom(List model) - { + public static List ConvertFrom(List model) { List responses = new(); - if (model == null) - { + if (model == null) { return responses; } - foreach (Models.ContractResponse contractModel in model) - { - DataTransferObjects.Responses.ContractResponse contractResponse = new() - { - ContractId = contractModel.ContractId, - ContractReportingId = contractModel.ContractReportingId, - Description = contractModel.Description, - EstateId = contractModel.EstateId, - EstateReportingId = contractModel.EstateReportingId, - OperatorId = contractModel.OperatorId, - OperatorName = contractModel.OperatorName, - Products = new() - }; - - foreach (Models.ContractProduct contractModelProduct in contractModel.Products) - { - DataTransferObjects.Responses.ContractProduct contractProductResponse = new() - { - Value = contractModelProduct.Value, - DisplayText = contractModelProduct.DisplayText, - Name = contractModelProduct.Name, - ProductId = contractModelProduct.ProductId, - ProductReportingId = contractModelProduct.ProductReportingId, - ProductType = contractModelProduct.ProductType switch - { - Models.ProductType.NotSet => DataTransferObjects.Responses.ProductType.NotSet, - Models.ProductType.BillPayment => DataTransferObjects.Responses.ProductType.BillPayment, - Models.ProductType.MobileTopup => DataTransferObjects.Responses.ProductType.MobileTopup, - Models.ProductType.Voucher => DataTransferObjects.Responses.ProductType.Voucher, - _ => DataTransferObjects.Responses.ProductType.NotSet - }, - TransactionFees = new() - }; - - foreach (Models.ContractProductTransactionFee contractProductTransactionFeeModel in contractModelProduct.TransactionFees) - { - contractProductResponse.TransactionFees.Add(new DataTransferObjects.Responses.ContractProductTransactionFee - { - Value = contractProductTransactionFeeModel.Value, - Description = contractProductTransactionFeeModel.Description, - CalculationType = contractProductTransactionFeeModel.CalculationType switch - { - Models.CalculationType.Fixed => DataTransferObjects.Responses.CalculationType.Fixed, - _ => DataTransferObjects.Responses.CalculationType.Percentage, - }, - FeeType = contractProductTransactionFeeModel.FeeType switch - { - Models.FeeType.Merchant => DataTransferObjects.Responses.FeeType.Merchant, - _ => DataTransferObjects.Responses.FeeType.ServiceProvider, - }, - TransactionFeeId = contractProductTransactionFeeModel.TransactionFeeId, - TransactionFeeReportingId = contractProductTransactionFeeModel.TransactionFeeReportingId - }); + foreach (Models.ContractResponse contractModel in model) { + DataTransferObjects.Responses.ContractResponse contractResponse = ConvertFrom(contractModel); + + foreach (Models.ContractProduct contractModelProduct in contractModel.Products) { + DataTransferObjects.Responses.ContractProduct contractProductResponse = ConvertFrom(contractModelProduct); + foreach (Models.ContractProductTransactionFee contractProductTransactionFeeModel in contractModelProduct.TransactionFees) { + contractProductResponse.TransactionFees.Add(ConvertFrom(contractProductTransactionFeeModel)); } - contractResponse.Products.Add(contractProductResponse); } - responses.Add(contractResponse); } return responses; } - public RedeemVoucherResponseMessage ConvertFrom(RedeemVoucherResponse model) - { - if (model == null) + public static DataTransferObjects.Responses.ContractResponse ConvertFrom(Models.ContractResponse model) { + DataTransferObjects.Responses.ContractResponse contractResponse = new() + { + ContractId = model.ContractId, + ContractReportingId = model.ContractReportingId, + Description = model.Description, + EstateId = model.EstateId, + EstateReportingId = model.EstateReportingId, + OperatorId = model.OperatorId, + OperatorName = model.OperatorName, + Products = new() + }; + + return contractResponse; + } + + public static DataTransferObjects.Responses.ContractProduct ConvertFrom(Models.ContractProduct model) { + DataTransferObjects.Responses.ContractProduct response = new() { + Value = model.Value, + DisplayText = model.DisplayText, + Name = model.Name, + ProductId = model.ProductId, + ProductReportingId = model.ProductReportingId, + ProductType = model.ProductType switch { + Models.ProductType.NotSet => DataTransferObjects.Responses.ProductType.NotSet, + Models.ProductType.BillPayment => DataTransferObjects.Responses.ProductType.BillPayment, + Models.ProductType.MobileTopup => DataTransferObjects.Responses.ProductType.MobileTopup, + Models.ProductType.Voucher => DataTransferObjects.Responses.ProductType.Voucher, + _ => DataTransferObjects.Responses.ProductType.NotSet + }, + TransactionFees = new() + }; + return response; + } + + public static DataTransferObjects.Responses.ContractProductTransactionFee ConvertFrom(Models.ContractProductTransactionFee model) { + DataTransferObjects.Responses.ContractProductTransactionFee response = new DataTransferObjects.Responses.ContractProductTransactionFee { + Value = model.Value, + Description = model.Description, + CalculationType = model.CalculationType switch + { + Models.CalculationType.Fixed => DataTransferObjects.Responses.CalculationType.Fixed, + _ => DataTransferObjects.Responses.CalculationType.Percentage, + }, + FeeType = model.FeeType switch + { + Models.FeeType.Merchant => DataTransferObjects.Responses.FeeType.Merchant, + _ => DataTransferObjects.Responses.FeeType.ServiceProvider, + }, + TransactionFeeId = model.TransactionFeeId, + TransactionFeeReportingId = model.TransactionFeeReportingId + }; + return response; + } + + public static RedeemVoucherResponseMessage ConvertFrom(RedeemVoucherResponse model) + { + if (model == null) { return null; } @@ -273,7 +279,5 @@ public RedeemVoucherResponseMessage ConvertFrom(RedeemVoucherResponse model) return responseMessage; } - - #endregion } } diff --git a/TransactionProcessorACL/Handlers/MerchantHandlers.cs b/TransactionProcessorACL/Handlers/MerchantHandlers.cs index 162cf14..3a79441 100644 --- a/TransactionProcessorACL/Handlers/MerchantHandlers.cs +++ b/TransactionProcessorACL/Handlers/MerchantHandlers.cs @@ -19,7 +19,6 @@ namespace TransactionProcessorACL.Handlers public static class MerchantHandlers { public static async Task GetMerchantContracts(IMediator mediator, - IModelFactory modelFactory, ClaimsPrincipal user, string applicationVersion, CancellationToken cancellationToken) @@ -33,11 +32,10 @@ public static async Task GetMerchantContracts(IMediator mediator, MerchantQueries.GetMerchantContractsQuery query = new(claimsResult.Data.estateId, claimsResult.Data.merchantId); Result> result = await mediator.Send(query, cancellationToken); - return ResponseFactory.FromResult(result, modelFactory.ConvertFrom); + return ResponseFactory.FromResult(result, ModelFactory.ConvertFrom); } public static async Task GetMerchant(IMediator mediator, - IModelFactory modelFactory, ClaimsPrincipal user, string applicationVersion, CancellationToken cancellationToken) diff --git a/TransactionProcessorACL/Handlers/TransactionHandlers.cs b/TransactionProcessorACL/Handlers/TransactionHandlers.cs index c2bfe09..d522f4c 100644 --- a/TransactionProcessorACL/Handlers/TransactionHandlers.cs +++ b/TransactionProcessorACL/Handlers/TransactionHandlers.cs @@ -22,7 +22,6 @@ namespace TransactionProcessorACL.Handlers public static class TransactionHandlers { public static async Task PerformSaleTransaction(IMediator mediator, - IModelFactory modelFactory, ClaimsPrincipal user, SaleTransactionRequestMessage transactionRequest, CancellationToken cancellationToken) @@ -33,11 +32,10 @@ public static async Task PerformSaleTransaction(IMediator mediator, TransactionCommands.ProcessSaleTransactionCommand saleCommand = CreateSaleCommand(claimsResult.Data.estateId, claimsResult.Data.merchantId, transactionRequest); Result saleResponse = await mediator.Send(saleCommand, cancellationToken); - return ResponseFactory.FromResult(saleResponse, modelFactory.ConvertFrom); + return ResponseFactory.FromResult(saleResponse, ModelFactory.ConvertFrom); } public static async Task PerformLogonTransaction(IMediator mediator, - IModelFactory modelFactory, ClaimsPrincipal user, LogonTransactionRequestMessage transactionRequest, CancellationToken cancellationToken) @@ -48,11 +46,10 @@ public static async Task PerformLogonTransaction(IMediator mediator, TransactionCommands.ProcessLogonTransactionCommand logonCommand = CreateLogonCommand(claimsResult.Data.estateId, claimsResult.Data.merchantId, transactionRequest); Result logonResponse = await mediator.Send(logonCommand, cancellationToken); - return ResponseFactory.FromResult(logonResponse, modelFactory.ConvertFrom); + return ResponseFactory.FromResult(logonResponse, ModelFactory.ConvertFrom); } public static async Task PerformReconciliationTransaction(IMediator mediator, - IModelFactory modelFactory, ClaimsPrincipal user, ReconciliationRequestMessage transactionRequest, CancellationToken cancellationToken) @@ -63,7 +60,7 @@ public static async Task PerformReconciliationTransaction(IMediator med TransactionCommands.ProcessReconciliationCommand reconCommand = CreateReconciliationCommand(claimsResult.Data.estateId, claimsResult.Data.merchantId, transactionRequest); Result reconResponse = await mediator.Send(reconCommand, cancellationToken); - return ResponseFactory.FromResult(reconResponse, modelFactory.ConvertFrom); + return ResponseFactory.FromResult(reconResponse, ModelFactory.ConvertFrom); } diff --git a/TransactionProcessorACL/Handlers/VoucherHandlers.cs b/TransactionProcessorACL/Handlers/VoucherHandlers.cs index a38f8cd..c02b283 100644 --- a/TransactionProcessorACL/Handlers/VoucherHandlers.cs +++ b/TransactionProcessorACL/Handlers/VoucherHandlers.cs @@ -19,7 +19,6 @@ namespace TransactionProcessorACL.Handlers public static class VoucherHandlers { public static async Task GetVoucher(IMediator mediator, - IModelFactory modelFactory, ClaimsPrincipal user, string voucherCode, string applicationVersion, @@ -41,11 +40,10 @@ public static async Task GetVoucher(IMediator mediator, var query = new VoucherQueries.GetVoucherQuery(estateId, contractId, voucherCode); var result = await mediator.Send(query, cancellationToken); - return ResponseFactory.FromResult(result, modelFactory.ConvertFrom); + return ResponseFactory.FromResult(result, ModelFactory.ConvertFrom); } public static async Task RedeemVoucher(IMediator mediator, - IModelFactory modelFactory, ClaimsPrincipal user, string voucherCode, string applicationVersion, @@ -66,7 +64,7 @@ public static async Task RedeemVoucher(IMediator mediator, var command = new VoucherCommands.RedeemVoucherCommand(estateId, contractId, voucherCode); var result = await mediator.Send(command, cancellationToken); - return ResponseFactory.FromResult(result, modelFactory.ConvertFrom); + return ResponseFactory.FromResult(result, ModelFactory.ConvertFrom); } } } \ No newline at end of file