private static void ReportResults(FileEnumeratorReport report)
        {
            foreach (FailSuccessCount count in report.Counts)
            {
                count.ToStrings().ForEach(s => Log.ToAll(s));
            }
            Log.ToAll();
            foreach (string line in report.Timings.GetReport())
            {
                Log.ToAll(line);
            }

            ReportOutput();
            ReportOutput("Scan completed!");
            ReportOutput("Exiting...");
        }
Exemple #2
0
        public static void LaunchFileEnumerator(FileEnumeratorParameters parameters)
        {
            var fileEnumerationDelegate
                = new Func <FileEnumeratorParameters, FileEnumeratorReport>((args) => Worker(args));

            if (!parameters.DisableWorkerThread)
            {
                Task <FileEnumeratorReport> enumerationTask = Task.Run(() =>
                {
                    FileEnumeratorReport results = fileEnumerationDelegate.Invoke(parameters);
                    return(results);
                },
                                                                       parameters.CancelToken);

                Task reportResultsTask = enumerationTask.ContinueWith((antecedent) => parameters.ReportResultsFunction(antecedent.Result));
            }
            else
            {
                FileEnumeratorReport results = fileEnumerationDelegate.Invoke(parameters);
                parameters.ReportResultsFunction(results);
            }
        }
        private void ReportNumbers(FileEnumeratorReport report)
        {
            TimeSpan enumerationTimeSpan = DateTime.Now.Subtract(enumerationStart);

            foreach (FailSuccessCount count in report.Counts)
            {
                Log.ToAll($"Succeeded: {count.SucceededCount} {count.Description}.");
            }
            foreach (FailSuccessCount count in report.Counts)
            {
                Log.ToAll($"Failed: {count.FailedCount} {count.Description}.");
            }

            Log.ToAll($"Enumeration time: {enumerationTimeSpan.ToString()}");
            Log.ToAll();
            foreach (string line in report.Timings)
            {
                Log.ToAll(line);
            }
            Log.ToAll();
            Log.ToAll("Enumeration finished!");

            ProcessingToggle.SetState(ToggleState.Ready);
        }