diff --git a/TransactionProcessor.Mobile.BusinessLogic/Common/Extensions.cs b/TransactionProcessor.Mobile.BusinessLogic/Common/Extensions.cs index c31ca3ec..65ce2b54 100644 --- a/TransactionProcessor.Mobile.BusinessLogic/Common/Extensions.cs +++ b/TransactionProcessor.Mobile.BusinessLogic/Common/Extensions.cs @@ -11,7 +11,7 @@ public static class Extensions { public static TransactionRecord ToTransactionRecord(this TransactionCommands.PerformLogonCommand request, Boolean isTrainingMode) { - TransactionRecord transactionRecord = new TransactionRecord { + TransactionRecord transactionRecord = new() { TransactionDateTime = request.TransactionDateTime, TransactionType = 1, IsTrainingMode = isTrainingMode @@ -22,7 +22,7 @@ public static TransactionRecord ToTransactionRecord(this TransactionCommands.Per public static TransactionRecord ToTransactionRecord(this TransactionCommands.PerformMobileTopupCommand request, Boolean isTrainingMode) { - TransactionRecord transactionRecord = new TransactionRecord { + TransactionRecord transactionRecord = new() { TransactionDateTime = request.TransactionDateTime, TransactionType = 2, Amount = request.TopupAmount, @@ -38,7 +38,7 @@ public static TransactionRecord ToTransactionRecord(this TransactionCommands.Per } public static TransactionRecord ToTransactionRecord(this TransactionCommands.PerformVoucherIssueCommand request, Boolean isTrainingMode) { - TransactionRecord transactionRecord = new TransactionRecord { + TransactionRecord transactionRecord = new() { TransactionDateTime = request.TransactionDateTime, TransactionType = 2, Amount = request.VoucherAmount, @@ -55,8 +55,7 @@ public static TransactionRecord ToTransactionRecord(this TransactionCommands.Per } public static TransactionRecord ToTransactionRecord(this TransactionCommands.PerformBillPaymentGetAccountCommand request, Boolean isTrainingMode) { - TransactionRecord transactionRecord = new TransactionRecord - { + TransactionRecord transactionRecord = new() { TransactionDateTime = request.TransactionDateTime, TransactionType = 2, Amount = 0, @@ -70,8 +69,7 @@ public static TransactionRecord ToTransactionRecord(this TransactionCommands.Per } public static TransactionRecord ToTransactionRecord(this TransactionCommands.PerformBillPaymentMakePostPaymentCommand request, Boolean isTrainingMode) { - TransactionRecord transactionRecord = new TransactionRecord - { + TransactionRecord transactionRecord = new() { TransactionDateTime = request.TransactionDateTime, TransactionType = 2, Amount = 0, @@ -86,8 +84,7 @@ public static TransactionRecord ToTransactionRecord(this TransactionCommands.Per public static TransactionRecord ToTransactionRecord(this TransactionCommands.PerformBillPaymentMakePrePaymentCommand request, Boolean isTrainingMode) { - TransactionRecord transactionRecord = new TransactionRecord - { + TransactionRecord transactionRecord = new() { TransactionDateTime = request.TransactionDateTime, TransactionType = 2, Amount = 0, @@ -102,8 +99,7 @@ public static TransactionRecord ToTransactionRecord(this TransactionCommands.Per public static TransactionRecord ToTransactionRecord(this TransactionCommands.PerformBillPaymentGetMeterCommand request, Boolean isTrainingMode) { - TransactionRecord transactionRecord = new TransactionRecord - { + TransactionRecord transactionRecord = new() { TransactionDateTime = request.TransactionDateTime, TransactionType = 2, Amount = 0, @@ -169,8 +165,7 @@ public static TransactionRecord UpdateFrom(this TransactionRecord transactionRec public static LogonTransactionRequestMessage ToLogonTransactionRequest(this PerformLogonRequestModel model) { - LogonTransactionRequestMessage logonTransactionRequest = new LogonTransactionRequestMessage - { + LogonTransactionRequestMessage logonTransactionRequest = new() { ApplicationVersion = model.ApplicationVersion, DeviceIdentifier = model.DeviceIdentifier, TransactionDateTime = model.TransactionDateTime, @@ -182,8 +177,7 @@ public static LogonTransactionRequestMessage ToLogonTransactionRequest(this Perf public static ReconciliationRequestMessage ToReconciliationRequest(this PerformReconciliationRequestModel model) { - ReconciliationRequestMessage reconciliationRequest = new ReconciliationRequestMessage - { + ReconciliationRequestMessage reconciliationRequest = new() { ApplicationVersion = model.ApplicationVersion, TransactionDateTime = model.TransactionDateTime, DeviceIdentifier = model.DeviceIdentifier, @@ -207,8 +201,7 @@ public static ReconciliationRequestMessage ToReconciliationRequest(this PerformR public static SaleTransactionRequestMessage ToSaleTransactionRequest(this PerformVoucherIssueRequestModel model) { - SaleTransactionRequestMessage saleTransactionRequest = new SaleTransactionRequestMessage - { + SaleTransactionRequestMessage saleTransactionRequest = new() { ProductId = model.ProductId, OperatorId = model.OperatorId, ApplicationVersion = model.ApplicationVersion, @@ -231,8 +224,7 @@ public static SaleTransactionRequestMessage ToSaleTransactionRequest(this Perfor public static SaleTransactionRequestMessage ToSaleTransactionRequest(this PerformMobileTopupRequestModel model) { - SaleTransactionRequestMessage saleTransactionRequest = new SaleTransactionRequestMessage - { + SaleTransactionRequestMessage saleTransactionRequest = new() { ProductId = model.ProductId, OperatorId = model.OperatorId, ApplicationVersion = model.ApplicationVersion, @@ -253,8 +245,7 @@ public static SaleTransactionRequestMessage ToSaleTransactionRequest(this Perfor } public static SaleTransactionRequestMessage ToSaleTransactionRequest(this PerformBillPaymentGetAccountModel model) { - SaleTransactionRequestMessage saleTransactionRequest = new SaleTransactionRequestMessage - { + SaleTransactionRequestMessage saleTransactionRequest = new() { ProductId = model.ProductId, OperatorId = model.OperatorId, ApplicationVersion = model.ApplicationVersion, @@ -274,8 +265,7 @@ public static SaleTransactionRequestMessage ToSaleTransactionRequest(this Perfor public static SaleTransactionRequestMessage ToSaleTransactionRequest(this PerformBillPaymentMakePaymentModel model) { - SaleTransactionRequestMessage saleTransactionRequest = new SaleTransactionRequestMessage - { + SaleTransactionRequestMessage saleTransactionRequest = new() { ProductId = model.ProductId, OperatorId = model.OperatorId, ApplicationVersion = model.ApplicationVersion, @@ -308,8 +298,7 @@ public static SaleTransactionRequestMessage ToSaleTransactionRequest(this Perfor public static SaleTransactionRequestMessage ToSaleTransactionRequest(this PerformBillPaymentGetMeterModel model) { - SaleTransactionRequestMessage saleTransactionRequest = new SaleTransactionRequestMessage - { + SaleTransactionRequestMessage saleTransactionRequest = new() { ProductId = model.ProductId, OperatorId = model.OperatorId, ApplicationVersion = model.ApplicationVersion, @@ -331,7 +320,7 @@ public static T ExtractFieldFromMetadata(this Dictionary addi String fieldName) { // Create a case insensitive version of the dictionary - Dictionary caseInsensitiveDictionary = new Dictionary(StringComparer.InvariantCultureIgnoreCase); + Dictionary caseInsensitiveDictionary = new(StringComparer.InvariantCultureIgnoreCase); foreach (KeyValuePair keyValuePair in additionalTransactionMetadata) { caseInsensitiveDictionary.Add(keyValuePair.Key, keyValuePair.Value); @@ -350,7 +339,7 @@ public static T ExtractFieldFromMetadata(this Dictionary addi public static BillDetails ToBillDetails(this Dictionary additionalTransactionMetadata) { - BillDetails billDetails = new BillDetails(); + BillDetails billDetails = new(); billDetails.AccountName = additionalTransactionMetadata.ExtractFieldFromMetadata("customerAccountName"); billDetails.AccountNumber = additionalTransactionMetadata.ExtractFieldFromMetadata("customerAccountNumber"); @@ -362,10 +351,10 @@ public static BillDetails ToBillDetails(this Dictionary addition public static MeterDetails ToMeterDetails(this Dictionary additionalTransactionMetadata, String meterNumber) { - MeterDetails meterDetails = new MeterDetails(); + MeterDetails meterDetails = new(); meterDetails.MeterNumber = meterNumber; - meterDetails.CustomerName = additionalTransactionMetadata.ExtractFieldFromMetadata("pataPawaPrePaidCustomerName"); ; + meterDetails.CustomerName = additionalTransactionMetadata.ExtractFieldFromMetadata("pataPawaPrePaidCustomerName"); return meterDetails; } diff --git a/TransactionProcessor.Mobile.BusinessLogic/RequestHandlers/MerchantRequestHandler.cs b/TransactionProcessor.Mobile.BusinessLogic/RequestHandlers/MerchantRequestHandler.cs index dadc58d2..f38f648d 100644 --- a/TransactionProcessor.Mobile.BusinessLogic/RequestHandlers/MerchantRequestHandler.cs +++ b/TransactionProcessor.Mobile.BusinessLogic/RequestHandlers/MerchantRequestHandler.cs @@ -79,8 +79,6 @@ public async Task> Handle(MerchantQueries.GetMercha IMerchantService merchantService = this.MerchantServiceResolver(useTrainingMode); Result merchantDetails = await merchantService.GetMerchantDetails(cancellationToken); - - //merchantDetails.Data.MerchantReportingId = 1; if (merchantDetails.IsSuccess) { this.ApplicationCache.SetMerchantDetails(merchantDetails.Data, BuildCacheEntryOptions()); } diff --git a/TransactionProcessor.Mobile.BusinessLogic/ViewModels/LoginPageViewModel.cs b/TransactionProcessor.Mobile.BusinessLogic/ViewModels/LoginPageViewModel.cs index ad71c45b..1ad1dd20 100644 --- a/TransactionProcessor.Mobile.BusinessLogic/ViewModels/LoginPageViewModel.cs +++ b/TransactionProcessor.Mobile.BusinessLogic/ViewModels/LoginPageViewModel.cs @@ -281,23 +281,28 @@ private async Task WriteTimingTrace(Stopwatch sw, String message) { } [ExcludeFromCodeCoverage] - private async void AccessTokenExpired(Object key, + private async Task AccessTokenExpired(Object key, Object value, EvictionReason reason, Object state) { - if (reason == EvictionReason.Expired || reason == EvictionReason.TokenExpired) - { - // access token has expired need to make another call to get new one - TokenResponseModel token = value as TokenResponseModel; + try { + if (reason == EvictionReason.Expired || reason == EvictionReason.TokenExpired) { + // access token has expired need to make another call to get new one + TokenResponseModel token = value as TokenResponseModel; - LogonCommands.RefreshTokenCommand command = new (token.RefreshToken); - Result newTokenResult = await this.Mediator.Send(command, CancellationToken.None); + LogonCommands.RefreshTokenCommand command = new(token.RefreshToken); + Result newTokenResult = await this.Mediator.Send(command, CancellationToken.None); - if (newTokenResult.IsSuccess) { - this.CacheAccessToken(newTokenResult.Data); + if (newTokenResult.IsSuccess) { + this.CacheAccessToken(newTokenResult.Data); + } } } + catch (Exception ex) + { + Logger.LogError("Failed to refresh access token after cache eviction.", ex); + } } private void CacheAccessToken(TokenResponseModel token) @@ -312,7 +317,11 @@ private void CacheAccessToken(TokenResponseModel token) // Force eviction to run .AddExpirationToken(expirationToken) // Add eviction callback - .RegisterPostEvictionCallback(callback:this.AccessTokenExpired); + .RegisterPostEvictionCallback( + (key, value, reason, state) => + { + _ = AccessTokenExpired(key, value, reason, state); + }); ; this.ApplicationCache.SetAccessToken(token, cacheEntryOptions); } diff --git a/TransactionProcessor.Mobile/UIServices/ApplicationInfoService.cs b/TransactionProcessor.Mobile/UIServices/ApplicationInfoService.cs index f76f8cc3..3ab7931a 100644 --- a/TransactionProcessor.Mobile/UIServices/ApplicationInfoService.cs +++ b/TransactionProcessor.Mobile/UIServices/ApplicationInfoService.cs @@ -15,5 +15,5 @@ public class ApplicationInfoService : IApplicationInfoService public Version Version => AppInfo.Version; - public String VersionString => "1.0.5"; //AppInfo.VersionString; + public String VersionString => AppInfo.VersionString; } diff --git a/TransactionProcessor.Mobile/UIServices/DeviceService.cs b/TransactionProcessor.Mobile/UIServices/DeviceService.cs index 701e5ff8..03baba64 100644 --- a/TransactionProcessor.Mobile/UIServices/DeviceService.cs +++ b/TransactionProcessor.Mobile/UIServices/DeviceService.cs @@ -20,8 +20,7 @@ public String GetIdentifier(){ String Id = deviceInformation.Id.ToString(); return Id.Replace("-","");; #endif - return "stagingmerchant1device"; - //return this.DeviceIdProvider.GetDeviceId().Replace("-",""); + return this.DeviceIdProvider.GetDeviceId().Replace("-",""); } public String GetModel()