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"); }); }
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); }