private IImmutableSet ReportProgress()

in code/KustoCopyConsole/Runner/ProgressBar.cs [47:70]


        private IImmutableSet<IterationKey> ReportProgress(
            IImmutableSet<IterationKey> iterationBag)
        {
            var activeIterations = _rowItemGateway.InMemoryCache
                .ActivityMap
                .Values
                .Where(a => a.RowItem.State == ActivityState.Active)
                .SelectMany(a => a.IterationMap.Values)
                .Where(i => i.RowItem.State != IterationState.Completed)
                .Select(i => i.RowItem.GetIterationKey())
                .ToImmutableHashSet();

            foreach (var key in iterationBag.Except(activeIterations))
            {
                Console.WriteLine(
                    $"Completed ({key.ActivityName}, {key.IterationId})");
            }
            foreach (var key in activeIterations)
            {
                ReportIterationProgress(key);
            }

            return activeIterations;
        }