Improved updated handler & allow qb file selection when file locked.

This commit is contained in:
Patrick Fic
2021-05-26 09:34:14 -07:00
parent ac5dda5528
commit f9d8b18481
3 changed files with 62 additions and 18 deletions

View File

@@ -51,7 +51,7 @@ using System.Windows;
// You can specify all the values or you can default the Build and Revision Numbers // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.18.0")] [assembly: AssemblyVersion("1.0.12.0")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")]
//Setting Squirrel Aware Version. //Setting Squirrel Aware Version.
[assembly: AssemblyMetadata("SquirrelAwareVersion", "1")] [assembly: AssemblyMetadata("SquirrelAwareVersion", "1")]

View File

@@ -67,6 +67,47 @@ namespace BodyshopPartner.Utils
public delegate void DownloadProgress(int value); public delegate void DownloadProgress(int value);
public delegate void InstallProgress(int value); public delegate void InstallProgress(int value);
public static async Task UpdateAppEasy(InstallProgress InstallProgress)
{
try
{
BackupSettings();
}
catch (Exception ex)
{
logger.Warn(ex, "Unable to backup settings.");
}
try
{
using (var updateManager = new UpdateManager(UpdatePath))
{
await updateManager.UpdateApp(_ =>
{
logger.Debug("Install Progress " + _.ToString());
InstallProgress(_);
});
await UpdateManager.RestartAppWhenExited();
logger.Debug("Ready to restart app with updated version.");
App.Current.Dispatcher.Invoke(() =>
{
App.Current.Shutdown();
});
}
}
catch (Exception Ex)
{
logger.Error(Ex);
}
}
public static async Task ApplyUpdates(DownloadProgress DownloadProgress, InstallProgress InstallProgress) public static async Task ApplyUpdates(DownloadProgress DownloadProgress, InstallProgress InstallProgress)
{ {
try try

View File

@@ -90,26 +90,28 @@ namespace BodyshopPartner.ViewModels
private async Task updateCheck() private async Task updateCheck()
{ {
#if (!DEBUG) //#if (!DEBUG)
logger.Debug("Checking if updates are available."); logger.Debug("Checking if updates are available.");
UpdateAvailable = await Utils.UpdateHandler.AreUpdatesAvailable(); await Utils.UpdateHandler.UpdateAppEasy((val) => UpdateProgress = val);
if (UpdateAvailable)
{
string msg = "An update to ImEX Online Partner is Available. It will be automatically downloaded and applied.";
Utils.Notifications.notifier.ShowInformation(msg);
logger.Debug("Updates are available! Installing.");
try
{
await Utils.UpdateHandler.ApplyUpdates((val) => UpdateProgress = val, (val) => UpdateProgress = val);
} //UpdateAvailable = await Utils.UpdateHandler.AreUpdatesAvailable();
catch (Exception Ex) //if (UpdateAvailable)
{ //{
logger.Error("Error while updating." + Ex.ToString()); // string msg = "An update to ImEX Online Partner is Available. It will be automatically downloaded and applied.";
// Utils.Notifications.notifier.ShowInformation(msg);
// logger.Debug("Updates are available! Installing.");
// try
// {
// await Utils.UpdateHandler.ApplyUpdates((val) => UpdateProgress = val, (val) => UpdateProgress = val);
} // }
} // catch (Exception Ex)
#endif // {
// logger.Error("Error while updating." + Ex.ToString());
// }
//}
//#endif
} }
@@ -201,6 +203,7 @@ namespace BodyshopPartner.ViewModels
{ {
OpenFileDialog openFileDialog = new OpenFileDialog(); OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.ValidateNames = false;
openFileDialog.Multiselect = false; openFileDialog.Multiselect = false;
openFileDialog.Filter = "QuickBooks files (*.qbw)|*.qbw|All files (*.*)|*.*"; openFileDialog.Filter = "QuickBooks files (*.qbw)|*.qbw|All files (*.*)|*.*";
openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);