public ITimeDataSeries <SprocketCombo> CalculateSprocketTrack(IActivity activity) { if (activity != null) { bool retrieveInfo = true; ActivityGearTrackCacheItem cachedItem = null; if (m_InfoCache.ContainsKey(activity) && m_InfoCache[activity].m_SprocketTrack != null) { retrieveInfo = false; } if (retrieveInfo) { ITimeDataSeries <SprocketCombo> sprocketTrack = Common.Data.GetSprocketTrack(activity); UpdateCachedSprocketTrack(activity, sprocketTrack); } cachedItem = m_InfoCache[activity]; return(cachedItem.m_SprocketTrack); } return(null); }
public INumericTimeDataSeries CalculateGearTrack(IActivity activity) { if (activity != null) { bool retrieveInfo = true; ActivityGearTrackCacheItem cachedItem = null; if (m_InfoCache.ContainsKey(activity) && m_InfoCache[activity].m_GearTrack != null) { retrieveInfo = false; } if (retrieveInfo) { INumericTimeDataSeries gearTrack = Common.Data.GetGearTrack(activity); UpdateCachedGearTrack(activity, gearTrack); } cachedItem = m_InfoCache[activity]; return(cachedItem.m_GearTrack); } return(null); }
private void UpdateCachedSprocketTrack(IActivity activity, ITimeDataSeries <SprocketCombo> sprocketTrack) { ActivityGearTrackCacheItem newCacheItem = new ActivityGearTrackCacheItem(activity); if (!m_InfoCache.ContainsKey(activity)) { m_InfoCache.Add(activity, null); activity.PropertyChanged += new PropertyChangedEventHandler(OnActivityDataChanged); } m_InfoCache[activity] = newCacheItem; m_InfoCache[activity].m_SprocketTrack = sprocketTrack; }
private void UpdateCachedRawTrack(IActivity activity, INumericTimeDataSeries rawTrack) { ActivityGearTrackCacheItem newCacheItem = new ActivityGearTrackCacheItem(activity); if (!m_InfoCache.ContainsKey(activity)) { m_InfoCache.Add(activity, null); activity.PropertyChanged += new PropertyChangedEventHandler(OnActivityDataChanged); } m_InfoCache[activity] = newCacheItem; m_InfoCache[activity].m_RawTrack = rawTrack; }