IO-402 Power Mode Handling

This commit is contained in:
Patrick Fic
2021-04-05 10:23:21 -07:00
parent 9424f02526
commit d569750939
4 changed files with 47 additions and 1 deletions

View File

@@ -1,4 +1,5 @@
using System;
using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
@@ -21,6 +22,7 @@ namespace BodyshopPartner
private void Application_Exit(object sender, ExitEventArgs e)
{
Utils.PowerModeEventHandler.DisposeEventHandler();
BodyshopPartner.Properties.Settings.Default.Save();
Utils.QuickBooksInterop.DisconnectFromQuickBooks();
}

View File

@@ -400,6 +400,7 @@
<Compile Include="Utils\JsonExtensions.cs" />
<Compile Include="Utils\LoginHelpers.cs" />
<Compile Include="Utils\Notifications.cs" />
<Compile Include="Utils\PowerModeEventHandler.cs" />
<Compile Include="Utils\Queries\JobsQueries.cs" />
<Compile Include="Utils\Queries\VehicleQueries.cs" />
<Compile Include="Utils\QuickBooksInterop.cs" />

View File

@@ -0,0 +1,42 @@
using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace BodyshopPartner.Utils
{
public static class PowerModeEventHandler
{
//public static event Microsoft.Win32.PowerModeChangedEventHandler PowerModeChanged;
private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
public static void InitEventHandler()
{
SystemEvents.PowerModeChanged += OnPowerModeChanged;
}
public static void OnPowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
//Handle the event here.
if (e.Mode == PowerModes.Suspend)
{
logger.Debug("System is being suspended. Preparing...");
}
else if (e.Mode == PowerModes.Resume)
{
logger.Debug("System is no longer suspended. Restarting partner...");
Application.Current.MainWindow.UpdateLayout();
}
}
public static void DisposeEventHandler()
{
SystemEvents.PowerModeChanged -= OnPowerModeChanged;
}
}
}

View File

@@ -82,6 +82,7 @@ namespace BodyshopPartner.ViewModels
Task.Run(() => Utils.HTTPServer.InitHttpServer(AddHttpStatus));
Task.Run(() => updateCheck());
StartAllFolderMonitors();
Utils.PowerModeEventHandler.InitEventHandler();
_callingThread.ReportProgress(100);
}