예제 #1
0
 private void RefreshDatabasesSourceCacheAsync(LogView oldLogView, LogView newLogView)
 {
     Task.Run(() =>
     {
         var databasesToRefresh = new List <Database>();
         if (oldLogView != null)
         {
             foreach (var identifier in oldLogView.AllLogFilePathsAndDatabaseNames)
             {
                 var database = DatabasesSourceCache.Lookup(identifier);
                 if (database.HasValue)
                 {
                     databasesToRefresh.Add(database.Value);
                 }
             }
         }
         if (newLogView != null)
         {
             foreach (var identifier in newLogView.AllLogFilePathsAndDatabaseNames)
             {
                 var database = DatabasesSourceCache.Lookup(identifier);
                 if (database.HasValue)
                 {
                     databasesToRefresh.Add(database.Value);
                 }
             }
         }
         DatabasesSourceCache.Refresh(databasesToRefresh);
         RaisePropertyChangedEvent("Databases");
     });
 }
예제 #2
0
 private void RemoveLogSourceFromLogView(ILogEntriesSource logEntriesSource)
 {
     if (logEntriesSource is LogFile logFile)
     {
         _selectedLogView.LogFilePaths.Remove(logFile.NetworkFile.FullName);
         LogFilesSourceCache.Refresh(logFile);
     }
     else if (logEntriesSource is Database database)
     {
         _selectedLogView.DatabaseNames.Remove(database.Name);
         DatabasesSourceCache.Refresh(database);
     }
     Mediator.NotifyColleagues(MediatorMessages.LogSourceRemovedFromSelectedLogView, logEntriesSource);
 }