public decimal GetCustomerRateIncrease(string accountNumber, Package[] accountPackage, string marketId, bool isCable, bool isPhone, bool isInternet)
        {
            try
            {
                var cachedResult = MemoryCache.Get("CustomerRateIncrease_" + accountNumber);
                if (cachedResult != null)
                {
                    return((decimal)cachedResult);
                }

                var rateIncreaseRequest = new GetRateIncreaseRequest
                {
                    AccountPackage = accountPackage,
                    IsCable        = isCable,
                    IsInternet     = isInternet,
                    IsPhone        = isPhone,
                    MarketId       = Convert.ToInt32(marketId)
                };

                var rateIncreaseResponse = _productQuery.GetRateIncrease(rateIncreaseRequest);
                MemoryCache.Add("CustomerRateIncrease_" + accountNumber, rateIncreaseResponse.Amount,
                                new CacheItemPolicy {
                    AbsoluteExpiration = new DateTimeOffset(DateTime.UtcNow.AddMinutes(60))
                });
                return(rateIncreaseResponse.Amount);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
        }