Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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;
        }
Пример #4
0
        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;
        }