diff --git a/MaddoLibrary b/MaddoLibrary index d9b6b42..5987cc2 160000 --- a/MaddoLibrary +++ b/MaddoLibrary @@ -1 +1 @@ -Subproject commit d9b6b42b847a86423577b66a74320fe90669fc2e +Subproject commit 5987cc26521d839bf81bdaab19d101488294da19 diff --git a/WPFCatalog/MainWindowViewModel.cs b/WPFCatalog/MainWindowViewModel.cs index 63c76f7..cd4a4b2 100644 --- a/WPFCatalog/MainWindowViewModel.cs +++ b/WPFCatalog/MainWindowViewModel.cs @@ -87,45 +87,99 @@ namespace WPFCatalog //private List _tasks; private async void Start() { - Task outerTask = new Task(() => - { - var tasks = new List(); - // todo folder mode - MaddoLogger.Log("Starting elaboration"); - foreach (var file in Directory.EnumerateFiles(PicSettings.DirectorySorgente)) - { - //Task t = new Task(() => - //{ - - // //CompleteFile(file); - //}); - tasks.Add(FileTask(file)); - //_tasks.Add(new ImageTask() { ImageName = file, TaskImage = t, Completed = false }); - //t.Start(); + //Task outerTask = new Task(() => + //{ + // Stopwatch s = new Stopwatch(); + + // var tasks = new List(); + // // todo folder mode + // MaddoLogger.Log("Starting elaboration"); + // foreach (var file in Directory.EnumerateFiles(PicSettings.DirectorySorgente)) + // { + // //Task t = new Task(() => + // //{ + + // // //CompleteFile(file); + // //}); + // var t = FileTask(file); + // if (t != null) + // { + // tasks.Add(t); + // } + // else + // { + // MaddoLogger.LogError("Task was null for file: {0}", file); + // } + // //_tasks.Add(new ImageTask() { ImageName = file, TaskImage = t, Completed = false }); + // //t.Start(); - } - - Task.WhenAll(tasks).Start(); + // } + // s.Start(); - //tt.RunSynchronously(); - MaddoLogger.Log("Finished"); - DialogHelper.PopUpAlert("Finished", "message"); - }); + // await Task.WhenAll(tasks); - - outerTask.Start(); + // Task.WhenAll(tasks).Start(); + // s.Stop(); + // //tt.RunSynchronously(); + // MaddoLogger.Log("Finished: {0}, {1}", s.Elapsed, s.ElapsedMilliseconds); + // DialogHelper.PopUpAlert($"Finished: {s.Elapsed}, {s.ElapsedMilliseconds}", "message"); + //}); + + Task outerTask = OuterTask(); + + await outerTask; } - private Task FileTask(string file) + private async Task OuterTask() + { + Stopwatch s = new Stopwatch(); + + var tasks = new List(); + // todo folder mode + MaddoLogger.Log("Starting elaboration"); + foreach (var file in Directory.EnumerateFiles(PicSettings.DirectorySorgente)) + { + //Task t = new Task(() => + //{ + + // //CompleteFile(file); + //}); + var t = FileTask(file); + if (t != null) + { + tasks.Add(t); + } + else + { + MaddoLogger.LogError("Task was null for file: {0}", file); + } + //_tasks.Add(new ImageTask() { ImageName = file, TaskImage = t, Completed = false }); + //t.Start(); + + + + } + s.Start(); + + await Task.WhenAll(tasks); + + //Task.WhenAll(tasks).Start(); + s.Stop(); + //tt.RunSynchronously(); + MaddoLogger.Log("Finished: {0}, {1}", s.Elapsed, s.ElapsedMilliseconds); + DialogHelper.PopUpAlert($"Finished: {s.Elapsed}, {s.ElapsedMilliseconds}", "message"); + } + + + private async Task FileTask(string file) { MaddoLogger.Log("Starting task for image {0}", file); IImageProcessor i = new ImgSharpCreator(); - - //ImageCreator2 i = new ImageCreator2(); - i.Start(new FileInfo(file)); - return null; + await Task.Run(() => i.Start(new FileInfo(file))); + + } private void CompleteFile(string file)