aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2018-07-31 10:06:51 +0300
committerAvi Levkovich <avi@twine-s.com>2018-07-31 10:06:51 +0300
commitb6b2f9ad4c96deface6763adbb2ac533e9706d1b (patch)
tree732a7ce2f629ab4cd9a1bfc1bec79adf97185025 /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels
parent90b65a54cd28ee8b0d908c86795a7096c4073e83 (diff)
parentc728eba7cf217972c47e0a65afcb1975f6d6f6f1 (diff)
downloadTango-b6b2f9ad4c96deface6763adbb2ac533e9706d1b.tar.gz
Tango-b6b2f9ad4c96deface6763adbb2ac533e9706d1b.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/AboutViewVM.cs5
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ConnectedMachineViewVM.cs13
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs19
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs12
5 files changed, 46 insertions, 5 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/AboutViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/AboutViewVM.cs
index 5fe3b06b8..0b8a205f7 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/AboutViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/AboutViewVM.cs
@@ -3,7 +3,9 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Tango.Core;
using Tango.MachineStudio.Common.StudioApplication;
+using Tango.Settings;
using Tango.SharedUI;
namespace Tango.MachineStudio.UI.ViewModels
@@ -12,9 +14,12 @@ namespace Tango.MachineStudio.UI.ViewModels
{
public IStudioApplicationManager ApplicationManager { get; set; }
+ public CoreSettings Settings { get; set; }
+
public AboutViewVM(IStudioApplicationManager applicationManager)
{
ApplicationManager = applicationManager;
+ Settings = SettingsManager.Default.GetOrCreate<CoreSettings>();
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ConnectedMachineViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ConnectedMachineViewVM.cs
index 8034ceb69..35a4b0e9d 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ConnectedMachineViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ConnectedMachineViewVM.cs
@@ -5,6 +5,7 @@ using System.Text;
using System.Threading.Tasks;
using Tango.BL.Entities;
using Tango.Core.Commands;
+using Tango.MachineStudio.Common.Diagnostics;
using Tango.MachineStudio.Common.Notifications;
using Tango.MachineStudio.Common.StudioApplication;
using Tango.SharedUI;
@@ -30,18 +31,28 @@ namespace Tango.MachineStudio.UI.ViewModels
public ConnectedMachineVMResult Result { get; set; }
+ private IDiagnosticsFrameProvider _diagnosticsFrameProvider;
+ public IDiagnosticsFrameProvider DiagnosticsFrameProvider
+ {
+ get { return _diagnosticsFrameProvider; }
+ set { _diagnosticsFrameProvider = value; RaisePropertyChangedAuto(); }
+ }
+
+
public RelayCommand DisconnectCommand { get; set; }
public RelayCommand UploadHardwareConfigurationCommand { get; set; }
public RelayCommand ResetCommand { get; set; }
- public ConnectedMachineViewVM(IStudioApplicationManager application)
+ public ConnectedMachineViewVM(IStudioApplicationManager application, IDiagnosticsFrameProvider frameProvider)
{
ApplicationManager = application;
DisconnectCommand = new RelayCommand(Disconnect);
UploadHardwareConfigurationCommand = new RelayCommand(UploadHardwareConfiguration);
ResetCommand = new RelayCommand(Reset);
+
+ DiagnosticsFrameProvider = frameProvider;
}
private void Reset()
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 26be2d16b..a7750b39c 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs
@@ -19,6 +19,8 @@ using Tango.MachineStudio.UI.TFS;
using Tango.MachineStudio.Common;
using Tango.MachineStudio.Common.Update;
using Tango.Core.DI;
+using Tango.Settings;
+using Tango.Core;
namespace Tango.MachineStudio.UI.ViewModels
{
@@ -37,13 +39,19 @@ namespace Tango.MachineStudio.UI.ViewModels
public IStudioApplicationManager ApplicationManager { get; set; }
private bool _isLoading;
-
public bool IsLoading
{
get { return _isLoading; }
set { _isLoading = value; RaisePropertyChangedAuto(); }
}
+ private String _status;
+ public String Status
+ {
+ get { return _status; }
+ set { _status = value; RaisePropertyChangedAuto(); }
+ }
+
/// <summary>
/// Initializes a new instance of the <see cref="LoadingViewVM"/> class.
/// </summary>
@@ -52,6 +60,7 @@ namespace Tango.MachineStudio.UI.ViewModels
/// <param name="notificationProvider">The notification provider.</param>
public LoadingViewVM(IStudioApplicationManager applicationManager, INavigationManager navigationManager, IStudioModuleLoader studioModuleLoader, INotificationProvider notificationProvider, IEventLogger eventLogger, TeamFoundationServiceExtendedClient teamFoundationClient)
{
+ Status = "Loading, please wait...";
_tfs = teamFoundationClient;
_eventLogger = eventLogger;
ApplicationManager = applicationManager;
@@ -79,6 +88,8 @@ namespace Tango.MachineStudio.UI.ViewModels
{
try
{
+ Status = "Checking for critical updates...";
+
LogManager.Log("Checking for forced update...");
var service = UpdateServiceHelper.GetUpdateServiceChannel();
var client = service.CreateChannel();
@@ -119,17 +130,23 @@ namespace Tango.MachineStudio.UI.ViewModels
try
{
+ Status = "Connecting to Team Foundation Services...";
_tfs.Initialize();
+ Thread.Sleep(500);
}
catch (Exception ex)
{
LogManager.Log(ex, "Could not initialize Team Foundation Service client.");
}
+ Status = "Loading, please wait...";
+
ObservablesEntitiesAdapter.Instance.Initialize();
_eventLogger.Log(EventTypes.ApplicationStarted, "Application Started!");
+ Status = "Starting application...";
+
InvokeUI(() =>
{
_studioModuleLoader.LoadModules();
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs
index 3cd3fb5f9..60447f37a 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.Core.Commands;
-using Tango.Integration.Services;
+using Tango.Integration.ExternalBridge;
using Tango.MachineStudio.Common.Notifications;
using Tango.SharedUI;
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 278926de9..e53ec0b39 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
@@ -13,7 +13,7 @@ using System.Windows.Media;
using Tango.BL.Entities;
using Tango.Core.Commands;
using Tango.Core.DI;
-using Tango.Integration.Services;
+using Tango.Integration.ExternalBridge;
using Tango.Logging;
using Tango.MachineStudio.Common;
using Tango.MachineStudio.Common.Authentication;
@@ -451,7 +451,7 @@ namespace Tango.MachineStudio.UI.ViewModels
await x.SelectedMachine.Connect();
- var authenticated = await x.SelectedMachine.As<IExternalBridgeSecureClient>().Authenticate(login.Password);
+ var authenticated = await x.SelectedMachine.As<IExternalBridgeSecureClient>().Authenticate(login.Password, Environment.MachineName, AuthenticationProvider.CurrentUser.Guid, "Machine Studio");
if (!authenticated)
{
_notificationProvider.ShowError("It seems like you are not authorized to access the selected machine.");
@@ -459,6 +459,14 @@ namespace Tango.MachineStudio.UI.ViewModels
else
{
ApplicationManager.ConnectedMachine = x.SelectedMachine;
+ (x.SelectedMachine as IExternalBridgeSecureClient).SessionClosed += (_, __) =>
+ {
+ InvokeUI(() =>
+ {
+ _notificationProvider.ShowError("The remote machine has closed the current session. Machine disconnected.");
+ ApplicationManager.ConnectedMachine = null;
+ });
+ };
PostMessage(new MachineConnectionChangedMessage() { Machine = x.SelectedMachine });
_eventLogger.Log(String.Format("Successfully connected to machine {0} via TCP", x.SelectedMachine.SerialNumber));
}