diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2021-10-06 04:13:10 +0300 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2021-10-06 04:13:10 +0300 |
| commit | c719c53ebb4d27e7f45c71f65588b2c5b7e75f86 (patch) | |
| tree | 8ce2c9cbb50783035fbc1503a6de1729ef1f282f /Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels | |
| parent | 9de6ed771ef74d5fb4ba9d9353ca7a676921f0db (diff) | |
| download | Tango-c719c53ebb4d27e7f45c71f65588b2c5b7e75f86.tar.gz Tango-c719c53ebb4d27e7f45c71f65588b2c5b7e75f86.zip | |
Enable/Disable proxy PPC settings.
Diffstat (limited to 'Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels')
| -rw-r--r-- | Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs index 374269522..bba5c2e7d 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs @@ -4,6 +4,7 @@ using System.Collections.ObjectModel; using System.Collections.Specialized; using System.ComponentModel; using System.ComponentModel.DataAnnotations; +using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -14,6 +15,7 @@ using Tango.BL.Entities; using Tango.BL.Enumerations; using Tango.ColorConversion; using Tango.Core.Commands; +using Tango.Core.Components; using Tango.Core.DI; using Tango.Core.ExtensionMethods; using Tango.PPC.Common; @@ -26,6 +28,7 @@ using Tango.PPC.Common.UWF; using Tango.Settings; using Tango.SharedUI.Components; using Tango.WiFi; +using static Tango.Core.Components.CmdCommand; namespace Tango.PPC.MachineSettings.ViewModels { @@ -243,6 +246,12 @@ namespace Tango.PPC.MachineSettings.ViewModels set { _useLightInks = value; RaisePropertyChangedAuto(); } } + private bool _enableProxy; + public bool EnableProxy + { + get { return _enableProxy; } + set { _enableProxy = value; RaisePropertyChangedAuto(); } + } #endregion @@ -333,6 +342,42 @@ namespace Tango.PPC.MachineSettings.ViewModels } } + if (EnableProxy != Settings.EnableProxifier) + { + CmdCommand cmd = null; + CmdCommandResult result = null; + + if (!EnableProxy) + { + try + { + cmd = new CmdCommand("taskkill", "/F /IM proxifier.exe"); + result = await cmd.Run(); + Settings.EnableProxifier = false; + Settings.Save(); + } + catch (Exception ex) + { + LogManager.Log(ex, $"Unable to disable the proxy.\n{ex.Message}"); + await NotificationProvider.ShowError($"Unable to disable the proxy.\n{ex.Message}"); + } + } + else + { + try + { + Process.Start(@"C:\Program Files (x86)\Proxifier\Proxifier.exe"); + Settings.EnableProxifier = true; + Settings.Save(); + } + catch (Exception ex) + { + LogManager.Log(ex, $"Unable to start the proxy service.\n{ex.Message}"); + await NotificationProvider.ShowError($"Unable to start the proxy service.\n{ex.Message}"); + } + } + } + if (_previousEnableUWF != EnableUWF) { await NotificationProvider.ShowWarning("Changes to disk protection (UWF) will take effect only after a full system restart."); @@ -393,6 +438,22 @@ namespace Tango.PPC.MachineSettings.ViewModels MachineDataSynchronizer.SynchronizationStarted += (_, __) => InvalidateRelayCommands(); MachineDataSynchronizer.SynchronizationEnded += (_, __) => InvalidateRelayCommands(); + if (!Settings.EnableProxifier) + { + CmdCommand cmd = null; + CmdCommandResult result = null; + + try + { + cmd = new CmdCommand("taskkill", "/F /IM proxifier.exe"); + result = await cmd.Run(); + } + catch (Exception ex) + { + LogManager.Log(ex, $"Unable to disable the proxy.\n{ex.Message}"); + } + } + using (ObservablesContext db = ObservablesContext.CreateDefault()) { Rmls = (await new RmlsCollectionBuilder(db).SetAll().ForHeadType(MachineProvider.Machine.MachineHeadType).ForSite(MachineProvider.Machine.SiteGuid).BuildAsync()).OrderBy(x => x.FinalName).ToObservableCollection(); @@ -482,6 +543,8 @@ namespace Tango.PPC.MachineSettings.ViewModels { LogManager.Log(ex, "Error loading lubrication levels."); } + + EnableProxy = Settings.EnableProxifier; } private async void OnEnableRemoteAssistanceChanged() |
