aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs9
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs5
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/UpdateViewVM.cs44
3 files changed, 20 insertions, 38 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs
index 4032c946c..545d51ef2 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs
@@ -69,6 +69,9 @@ namespace Tango.MachineStudio.UI.ViewModels
_notificationProvider = notificationProvider;
}
+ /// <summary>
+ /// Called when the application has been started
+ /// </summary>
public override void OnApplicationStarted()
{
base.OnApplicationStarted();
@@ -91,15 +94,15 @@ namespace Tango.MachineStudio.UI.ViewModels
Status = "Checking for critical updates...";
LogManager.Log("Checking for forced update...");
- var service = UpdateServiceHelper.GetUpdateServiceChannel();
- var client = service.CreateChannel();
+
+ var client = new MachineStudioUpdateService();
CheckForUpdatesResponse response = client.CheckForUpdates(new CheckForUpdatesRequest()
{
Email = "ForceUpdate",
Password = "ForceUpdate",
Version = ApplicationManager.Version.ToString(),
- });
+ }).Result;
if (response.IsUpdateAvailable && response.ForcedUpdate)
{
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
index c9cd3276f..befad162c 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
@@ -359,8 +359,7 @@ namespace Tango.MachineStudio.UI.ViewModels
{
if (_authenticationProvider.CurrentUser != null)
{
- var service = UpdateServiceHelper.GetUpdateServiceChannel();
- var client = service.CreateChannel();
+ var client = new MachineStudioUpdateService();
CheckForUpdatesResponse response = client.CheckForUpdates(new CheckForUpdatesRequest()
{
@@ -368,7 +367,7 @@ namespace Tango.MachineStudio.UI.ViewModels
Password = _authenticationProvider.CurrentUser.Password,
Version = _applicationManager.Version.ToString(),
AcceptBetaRelease = _settings.AcceptBetaRelease,
- });
+ }).Result;
IsUpdateAvailable = response.IsUpdateAvailable;
LatestVersion = response.Version;
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/UpdateViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/UpdateViewVM.cs
index a9624da2d..3fec96629 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/UpdateViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/UpdateViewVM.cs
@@ -24,6 +24,7 @@ using Tango.SharedUI;
using Tango.MachineStudio.UI.Messages;
using Tango.Settings;
using Tango.MachineStudio.Common;
+using Tango.Transport.Web;
namespace Tango.MachineStudio.UI.ViewModels
{
@@ -185,16 +186,13 @@ namespace Tango.MachineStudio.UI.ViewModels
var settings = SettingsManager.Default.GetOrCreate<MachineStudioSettings>();
- ChannelFactory<IMachineStudioUpdateService> service = null;
-
Task.Factory.StartNew(() =>
{
try
{
Thread.Sleep(2000);
- service = UpdateServiceHelper.GetUpdateServiceChannel();
- var client = service.CreateChannel();
+ var client = new MachineStudioUpdateService();
CheckForUpdatesResponse response = client.CheckForUpdates(new CheckForUpdatesRequest()
{
@@ -202,7 +200,7 @@ namespace Tango.MachineStudio.UI.ViewModels
Password = _authentication.CurrentUser.Password,
Version = _application.Version.ToString(),
AcceptBetaRelease = settings.AcceptBetaRelease,
- });
+ }).Result;
if (response.IsUpdateAvailable)
{
@@ -221,13 +219,6 @@ namespace Tango.MachineStudio.UI.ViewModels
logManager.Log(ex, "Error while checking for version update!");
Status = UpdateStatus.Error;
}
- finally
- {
- if (service != null)
- {
- service.Close();
- }
- }
});
}
@@ -260,29 +251,18 @@ namespace Tango.MachineStudio.UI.ViewModels
{
logManager.Log("Creating temporary file " + tempFile);
- int fileSize = 0;
-
- using (FileStreamWrapper fs = new FileStreamWrapper(tempFile.Path, FileMode.Create, (current) =>
+ using (StorageBlobDownloader downloader = new StorageBlobDownloader(_updateInfo.BlobAddress, tempFile.Path))
{
- InvokeUINow(() =>
+ downloader.Progress += (x, e) =>
{
- Thread.Sleep(10);
- DownloadProgress = ((double)current / (double)fileSize) * 100d;
- });
- }))
- {
- using (FtpClient ftp = new FtpClient(_updateInfo.FtpHost, _updateInfo.UserName, _updateInfo.Password))
- {
- logManager.Log("Connecting to FTP site: " + _updateInfo.FtpHost);
- ftp.ConnectAsync().Wait();
- logManager.Log("Retrieving download size...");
- fileSize = (int)ftp.GetFileSize(_updateInfo.FilePath);
- logManager.Log("Download size: " + fileSize + " bytes.");
- logManager.Log("Starting download...");
- ftp.DownloadAsync(fs, _updateInfo.FilePath).Wait();
- }
- }
+ InvokeUINow(() =>
+ {
+ DownloadProgress = ((double)e.Current / (double)e.Total) * 100d;
+ });
+ };
+ downloader.Download().Wait();
+ }
Status = UpdateStatus.Updating;