/// <summary> /// To avoid deadlock, this method should not called from main thread /// </summary> public void UpdateResultView(List <Result> list, PluginMetadata metadata, Query originQuery) { _queryHasReturn = true; ProgressBarVisibility = Visibility.Hidden; foreach (var result in list) { if (_topMostRecord.IsTopMost(result)) { result.Score = int.MaxValue; } else { result.Score += _userSelectedRecord.GetSelectedCount(result) * 5; } } if (originQuery.RawQuery == _lastQuery.RawQuery) { Results.AddResults(list, metadata.ID); } if (list.Count > 0 && !ResultListBoxVisibility.IsVisible()) { ResultListBoxVisibility = Visibility.Visible; } }
public void UpdateResultView(List <Result> list, PluginMetadata metadata, Query originQuery) { _queryHasReturn = true; ProgressBarVisibility = Visibility.Hidden; list.ForEach(o => { o.Score += _userSelectedRecord.GetSelectedCount(o) * 5; }); if (originQuery.RawQuery == _lastQuery.RawQuery) { Application.Current.Dispatcher.Invoke(() => { UpdateResultViewInternal(list, metadata); }); } if (list.Count > 0 && !ResultListBoxVisibility.IsVisible()) { ResultListBoxVisibility = Visibility.Visible; } }