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); } }
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); } }
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); } }
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); } }
private void HandleUserCacheUpdatedEvent(CacheUpdateEvent cacheUpdateEvent) { Changed?.Invoke(cacheUpdateEvent); }
public void CheckAndRaiseEventsIfCacheNewer(CacheType cacheType, CacheUpdateEvent cacheUpdateEvent) => cacheContainer.CheckAndRaiseEventsIfCacheNewer(CacheType.GitUser, cacheUpdateEvent);
private void HandleUserCacheUpdatedEvent(CacheUpdateEvent cacheUpdateEvent) { Logger.Trace("GitUserCache Updated {0}", cacheUpdateEvent.UpdatedTimeString); Changed?.Invoke(cacheUpdateEvent); }
public void CheckLocalAndRemoteBranchListChangedEvent(CacheUpdateEvent cacheUpdateEvent) { CheckBranchCacheEvent(cacheUpdateEvent); }
public void CheckCurrentBranchAndRemoteChangedEvent(CacheUpdateEvent cacheUpdateEvent) { CheckRepositoryInfoCacheEvent(cacheUpdateEvent); }
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); }
private void HandleGitStatusEntriesCacheUpdatedEvent(CacheUpdateEvent cacheUpdateEvent) { Logger.Trace("GitStatusEntriesCache Updated {0}", cacheUpdateEvent.UpdatedTimeString); StatusEntriesChanged?.Invoke(cacheUpdateEvent); }