public void QueueExportJob(IPdfExport export) { AddProgressReporting(ref export); Interlocked.Increment(ref _jobInProgress); Interlocked.Increment(ref _totalJobs); _jobBuffer.Add(export); }
/// <summary> /// Takes care of reporting the /// </summary> /// <param name="export"></param> private void AddProgressReporting(ref IPdfExport export) { export.ProgressChanged += delegate(object o, ProgressChangedEventArgs pcea) { Action updateProgressPercentage = () => this.ExportProgress = pcea.ProgressPercentage; _dispatcher.Invoke(updateProgressPercentage); }; }