From e7a30d51c85b2d9be2f675769506c1faa8667c89 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Sun, 7 Jan 2018 18:39:32 +0200 Subject: Implemented External Bridge Client USB Connection. --- .../ViewModels/MainViewVM.cs | 44 ++++++++++++++++------ 1 file changed, 33 insertions(+), 11 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs') 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 061420037..f2beb7113 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs @@ -139,26 +139,48 @@ namespace Tango.MachineStudio.UI.ViewModels private void ConnectToMachine() { - _notificationProvider.ShowModalDialog((x) => + _notificationProvider.ShowModalDialog(async (x) => { if (x.SelectedMachine != null) { - _notificationProvider.ShowModalDialog(async (login) => + if (x.SelectedMachine.Type != Integration.Services.ExternalBridgeClientType.USB) { - using (NotificationProvider.PushTaskItem("Connecting to machine " + x.SelectedMachine.SerialNumber + "...")) + _notificationProvider.ShowModalDialog(async (login) => { - try + using (NotificationProvider.PushTaskItem("Connecting to machine " + x.SelectedMachine.SerialNumber + "...")) { - await x.SelectedMachine.Connect(); - var authenticated = await x.SelectedMachine.Authenticate(login.Password); - if (!authenticated) + try { - _notificationProvider.ShowError("It seems like you are not authorized to access the selected machine."); + await x.SelectedMachine.Connect(); + + var authenticated = await x.SelectedMachine.Authenticate(login.Password); + if (!authenticated) + { + _notificationProvider.ShowError("It seems like you are not authorized to access the selected machine."); + } + else + { + ApplicationManager.ConnectedMachine = x.SelectedMachine; + } } - else + catch (Exception ex) { - ApplicationManager.ConnectedMachine = x.SelectedMachine; + LogManager.Log(ex); + _notificationProvider.ShowError(ex.Message); } + + InvalidateRelayCommands(); + } + }); + } + else + { + using (NotificationProvider.PushTaskItem("Connecting to machine " + x.SelectedMachine.Device + "...")) + { + try + { + await x.SelectedMachine.Connect(); + ApplicationManager.ConnectedMachine = x.SelectedMachine; } catch (Exception ex) { @@ -168,7 +190,7 @@ namespace Tango.MachineStudio.UI.ViewModels InvalidateRelayCommands(); } - }); + } InvalidateRelayCommands(); } -- cgit v1.3.1