From 21cdc1e12814f72e6aac795f9ddd2a32b9614389 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Sun, 17 Feb 2019 16:46:08 +0200 Subject: Machine Studio 4.0.6.0 --- .../DefaultStudioApplicationManager.cs | 141 +++++++++++---------- 1 file changed, 74 insertions(+), 67 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication') diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs index 2e23d9d61..1be62565b 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs @@ -182,100 +182,107 @@ namespace Tango.MachineStudio.UI.StudioApplication await Task.Factory.StartNew(async () => { - //Do Shutdown Procedures... - foreach (var vm in TangoIOC.Default.GetAllInstancesByBase()) + try { - try + //Do Shutdown Procedures... + foreach (var vm in TangoIOC.Default.GetAllInstancesByBase()) { - var result = await vm.OnShutdownRequest(); - if (!result) + try { - IsShuttingDown = false; - return; + var result = await vm.OnShutdownRequest(); + if (!result) + { + IsShuttingDown = false; + return; + } + } + catch (Exception ex) + { + LogManager.Log(ex, "Error on shutdown request with " + vm.GetType().Name); } } - catch (Exception ex) + + foreach (var vm in TangoIOC.Default.GetAllInstancesByBase()) { - LogManager.Log(ex, "Error on shutdown request with " + vm.GetType().Name); + vm.OnShuttingDown(); } - } - - foreach (var vm in TangoIOC.Default.GetAllInstancesByBase()) - { - vm.OnShuttingDown(); - } - var settings = SettingsManager.Default.GetOrCreate(); - settings.LastBounds = r; - settings.StudioModulesBounds.Clear(); + var settings = SettingsManager.Default.GetOrCreate(); + settings.LastBounds = r; + settings.StudioModulesBounds.Clear(); - foreach (var window in _openedWindows.OfType()) - { - window.Invoke(() => + foreach (var window in _openedWindows.OfType()) { - var context = window.ModuleContext; - - if (context != null) + window.Invoke(() => { - settings.StudioModulesBounds.Add(new MachineStudioSettings.StudioModuleBounds() + var context = window.ModuleContext; + + if (context != null) { - Bounds = window.RestoreBounds, - State = window.WindowState, - Name = context.Module.Name, - }); - } - }); - } + settings.StudioModulesBounds.Add(new MachineStudioSettings.StudioModuleBounds() + { + Bounds = window.RestoreBounds, + State = window.WindowState, + Name = context.Module.Name, + }); + } + }); + } - var mainViewVM = TangoIOC.Default.GetInstance(); + var mainViewVM = TangoIOC.Default.GetInstance(); - settings.LastMainModuleName = mainViewVM.CurrentModule != null ? mainViewVM.CurrentModule.Name : null; + settings.LastMainModuleName = mainViewVM.CurrentModule != null ? mainViewVM.CurrentModule.Name : null; - try - { - SettingsManager.Default.Save(); - } - catch (Exception ex) - { - LogManager.Log(ex, "Error saving settings."); - } + try + { + SettingsManager.Default.Save(); + } + catch (Exception ex) + { + LogManager.Log(ex, "Error saving settings."); + } - await _navigationManager.NavigateTo(NavigationView.ShutdownView); + await _navigationManager.NavigateTo(NavigationView.ShutdownView); - Thread.Sleep(1500); + Thread.Sleep(1500); - foreach (var window in _openedWindows) - { - ThreadsHelper.InvokeUI(() => + foreach (var window in _openedWindows) { - window.Close(); - }); - } + ThreadsHelper.InvokeUI(() => + { + window.Close(); + }); + } - try - { - if (ConnectedMachine != null) + try { - ConnectedMachine.Disconnect().Wait(); + if (ConnectedMachine != null) + { + ConnectedMachine.Disconnect().Wait(); + } + } + catch (Exception ex) + { + LogManager.Log(ex, "Error disconnecting from machine."); } - } - catch (Exception ex) - { - LogManager.Log(ex, "Error disconnecting from machine."); - } - var eventLogger = TangoIOC.Default.GetInstance(); - if (eventLogger != null) - { - eventLogger.Log(EventTypes.APPLICATION_TERMINATED, "Application Terminated!"); - eventLogger.FlushAll(); - } + var eventLogger = TangoIOC.Default.GetInstance(); + if (eventLogger != null) + { + eventLogger.Log(EventTypes.APPLICATION_TERMINATED, "Application Terminated!"); + eventLogger.FlushAll(); + } - Thread.Sleep(1500); + Thread.Sleep(1500); - Environment.Exit(0); + Environment.Exit(0); + } + catch + { + Environment.Exit(0); + } }); } -- cgit v1.3.1