private async Task <NotifEyeTransactionInfo> GetNotifEyePaymentDetails()
        {
            var notifEyeTransaction = new NotifEyeTransactionInfo();

            var user = await _iHttpContextProvider.GetCurrentUser();

            if (user != null && user.Account != null && user.Account.Count > 0)
            {
                AccountSensors accountSensor = new AccountSensors();
                accountSensor.AccountID             = user.Account[0].AccountID;
                accountSensor.NumSensors            = user.Account[0].NumSensors;
                notifEyeTransaction.AccountID       = user.Account[0].AccountID;
                notifEyeTransaction.PrimaryUserName = user.Account[0].UserFullName;
                notifEyeTransaction.Address         = AppUtility.PrepareAddress(user.Account[0].Address, user.Account[0].Address2, user.Account[0].State, user.Account[0].PostalCode, user.Account[0].Country);
                notifEyeTransaction.Email           = user.Account[0].EmailAddress;
                notifEyeTransaction.AccountName     = user.Account[0].CompanyName;
                notifEyeTransaction.CustomerID      = user.Account[0].AccountID;
                notifEyeTransaction.CustomerName    = user.UserName;
                notifEyeTransaction.NumberOfSensor  = user.Account[0].NumSensors;
                notifEyeTransaction.OldRenewalDate  = user.Account[0].SubscriptionExpiry;
                notifEyeTransaction.NewRenewalDate  = user.Account[0].SubscriptionExpiry.AddDays(365);
                var stateTax = await _taxableStateClient.GetTaxableStatebyStateCode(user.Account[0].State);

                notifEyeTransaction.SubscriptionAmount = _accountApplicationService.GetSensorAmount(accountSensor) * 100;
                notifEyeTransaction.TaxString          = stateTax != null?stateTax.Tax.ToString() : "0";

                notifEyeTransaction.TaxAmount = await _accountApplicationService.GetTaxAmount(notifEyeTransaction.SubscriptionAmount, user.Account[0].PostalCode);

                notifEyeTransaction.TotalAmount = await _accountApplicationService.GetSensorAnnualFee(accountSensor, user.Account[0].PostalCode) * 100;
            }
            return(notifEyeTransaction);
        }
        public async Task <double> GetTaxAmount(double Amount, string PostanCode)
        {
            double retVal = 0;

            TaxableStates stateTax = new TaxableStates();

            if (!string.IsNullOrEmpty(PostanCode))
            {
                stateTax = await _taxableStateClient.GetTaxableStatebyStateCode(PostanCode);
            }

            if (stateTax != null && stateTax.Tax > 0)
            {
                retVal = ((Amount * stateTax.Tax) / 100);
            }

            return(retVal);
        }