Exemplo n.º 1
0
        public void CheckStatusChangedEvent(CacheUpdateEvent cacheUpdateEvent)
        {
            var managedCache = cacheContainer.GitTrackingStatusCache;
            var raiseEvent   = managedCache.LastUpdatedAt != cacheUpdateEvent.UpdatedTime;

            Logger.Trace("Check GitStatusCache CacheUpdateEvent Current:{0} Check:{1} Result:{2}", managedCache.LastUpdatedAt,
                         cacheUpdateEvent.UpdatedTime, raiseEvent);

            if (raiseEvent)
            {
                var dateTimeOffset = managedCache.LastUpdatedAt;
                var updateEvent    = new CacheUpdateEvent {
                    UpdatedTime = dateTimeOffset
                };
                HandleGitTrackingStatusCacheUpdatedEvent(updateEvent);
            }
        }
Exemplo n.º 2
0
        private void CheckBranchCacheEvent(CacheUpdateEvent cacheUpdateEvent)
        {
            var managedCache = cacheContainer.BranchCache;
            var raiseEvent   = managedCache.LastUpdatedAt != cacheUpdateEvent.UpdatedTime;

            Logger.Trace("Check BranchCache CacheUpdateEvent Current:{0} Check:{1} Result:{2}", managedCache.LastUpdatedAt,
                         cacheUpdateEvent.UpdatedTime, raiseEvent);

            if (raiseEvent)
            {
                var dateTimeOffset = managedCache.LastUpdatedAt;
                var updateEvent    = new CacheUpdateEvent {
                    UpdatedTime = dateTimeOffset
                };
                HandleBranchCacheUpdatedEvent(updateEvent);
            }
        }
Exemplo n.º 3
0
        public void CheckLocksChangedEvent(CacheUpdateEvent cacheUpdateEvent)
        {
            CacheUpdateEvent cacheUpdateEvent1 = cacheUpdateEvent;
            var managedCache = cacheContainer.GitLocksCache;
            var raiseEvent   = managedCache.IsLastUpdatedTimeDifferent(cacheUpdateEvent1);

            Logger.Trace("Check GitLocksCache CacheUpdateEvent Current:{0} Check:{1} Result:{2}", managedCache.LastUpdatedAt,
                         cacheUpdateEvent1.UpdatedTimeString ?? "[NULL]", raiseEvent);

            if (raiseEvent)
            {
                var dateTimeOffset = managedCache.LastUpdatedAt;
                var updateEvent    = new CacheUpdateEvent {
                    UpdatedTimeString = dateTimeOffset.ToString()
                };
                HandleGitLocksCacheUpdatedEvent(updateEvent);
            }
        }
Exemplo n.º 4
0
        private void CacheContainer_OnCacheUpdated(CacheType cacheType, DateTimeOffset offset)
        {
            var cacheUpdateEvent = new CacheUpdateEvent {
                UpdatedTime = offset
            };

            switch (cacheType)
            {
            case CacheType.BranchCache:
                HandleBranchCacheUpdatedEvent(cacheUpdateEvent);
                break;

            case CacheType.GitLogCache:
                HandleGitLogCacheUpdatedEvent(cacheUpdateEvent);
                break;

            case CacheType.GitTrackingStatusCache:
                HandleGitTrackingStatusCacheUpdatedEvent(cacheUpdateEvent);
                break;

            case CacheType.GitLocksCache:
                HandleGitLocksCacheUpdatedEvent(cacheUpdateEvent);
                break;

            case CacheType.GitUserCache:
                break;

            case CacheType.RepositoryInfoCache:
                HandleRepositoryInfoCacheUpdatedEvent(cacheUpdateEvent);
                break;

            case CacheType.GitStatusEntriesCache:
                HandleGitStatusEntriesCacheUpdatedEvent(cacheUpdateEvent);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(cacheType), cacheType, null);
            }
        }
Exemplo n.º 5
0
 private void HandleUserCacheUpdatedEvent(CacheUpdateEvent cacheUpdateEvent)
 {
     Changed?.Invoke(cacheUpdateEvent);
 }
Exemplo n.º 6
0
 public void CheckAndRaiseEventsIfCacheNewer(CacheType cacheType, CacheUpdateEvent cacheUpdateEvent) => cacheContainer.CheckAndRaiseEventsIfCacheNewer(CacheType.GitUser, cacheUpdateEvent);
Exemplo n.º 7
0
 private void HandleUserCacheUpdatedEvent(CacheUpdateEvent cacheUpdateEvent)
 {
     Logger.Trace("GitUserCache Updated {0}", cacheUpdateEvent.UpdatedTimeString);
     Changed?.Invoke(cacheUpdateEvent);
 }
Exemplo n.º 8
0
 public void CheckLocalAndRemoteBranchListChangedEvent(CacheUpdateEvent cacheUpdateEvent)
 {
     CheckBranchCacheEvent(cacheUpdateEvent);
 }
Exemplo n.º 9
0
 public void CheckCurrentBranchAndRemoteChangedEvent(CacheUpdateEvent cacheUpdateEvent)
 {
     CheckRepositoryInfoCacheEvent(cacheUpdateEvent);
 }
Exemplo n.º 10
0
        public static bool IsLastUpdatedTimeDifferent(this IManagedCache managedCache, CacheUpdateEvent cacheUpdateEvent)
        {
            bool isDifferent;

            if (cacheUpdateEvent.UpdatedTimeString == null)
            {
                isDifferent = managedCache.LastUpdatedAt != DateTimeOffset.MinValue;
            }
            else
            {
                isDifferent = managedCache.LastUpdatedAt.ToString() != cacheUpdateEvent.UpdatedTimeString;
            }
            return(isDifferent);
        }
Exemplo n.º 11
0
 private void HandleGitStatusEntriesCacheUpdatedEvent(CacheUpdateEvent cacheUpdateEvent)
 {
     Logger.Trace("GitStatusEntriesCache Updated {0}", cacheUpdateEvent.UpdatedTimeString);
     StatusEntriesChanged?.Invoke(cacheUpdateEvent);
 }