/// <summary> /// Notifies the GUI about the progress /// </summary> /// <param name="position"></param> /// <param name="total"></param> /// <param name="lastProgress"></param> private void ChangeProgress(int position, int total, ref int lastProgress) { if (lastProgress != CalcProgress(position, total)) { lastProgress = CalcProgress(position, total); ChangedBuildingIndexProgress?.Invoke(this, new ProgressChangedEventArgs(lastProgress, null)); } }
/// <summary> /// Adds providen ResultItems to the index /// </summary> /// <param name="data"></param> public void WriteFilesToIndex(IReadOnlyList <ResultItem> data) { var lastProgress = -1; for (var i = 0; i < data.Count; i++) { ChangeProgress(i, data.Count, ref lastProgress); AddFile(data[i]); } ChangedBuildingIndexProgress?.Invoke(this, new ProgressChangedEventArgs(100, null)); SaveIndex(); }