aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/UpdateViewVM.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/UpdateViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/UpdateViewVM.cs35
1 files changed, 12 insertions, 23 deletions
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..af197ca3b 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
{
@@ -193,8 +194,7 @@ namespace Tango.MachineStudio.UI.ViewModels
{
Thread.Sleep(2000);
- service = UpdateServiceHelper.GetUpdateServiceChannel();
- var client = service.CreateChannel();
+ var client = new MachineStudioUpdateService();
CheckForUpdatesResponse response = client.CheckForUpdates(new CheckForUpdatesRequest()
{
@@ -202,7 +202,7 @@ namespace Tango.MachineStudio.UI.ViewModels
Password = _authentication.CurrentUser.Password,
Version = _application.Version.ToString(),
AcceptBetaRelease = settings.AcceptBetaRelease,
- });
+ }).Result;
if (response.IsUpdateAvailable)
{
@@ -260,29 +260,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) =>
- {
- InvokeUINow(() =>
- {
- Thread.Sleep(10);
- DownloadProgress = ((double)current / (double)fileSize) * 100d;
- });
- }))
+ using (StorageBlobDownloader downloader = new StorageBlobDownloader(_updateInfo.BlobAddress, tempFile.Path))
{
- using (FtpClient ftp = new FtpClient(_updateInfo.FtpHost, _updateInfo.UserName, _updateInfo.Password))
+ downloader.Progress += (x, e) =>
{
- 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;