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; } }