protected override void SetLevelForProgress(Step step) { byte oldValue; if (ProgressLevels.TryGetValue(step.Progress, out oldValue)) { if (oldValue > step.Number) { ProgressLevels[step.Progress] = step.Number; } } else { ProgressLevels.Add(step.Progress, step.Number); } }
protected override void SetLevelForProgress(Step step) { _lockProgressLevels.EnterWriteLock(); try { byte oldValue; if (ProgressLevels.TryGetValue(step.Progress, out oldValue)) { if (oldValue > step.Number) { ProgressLevels[step.Progress] = step.Number; } } else { ProgressLevels.Add(step.Progress, step.Number); } } finally { _lockProgressLevels.ExitWriteLock(); } }