From fc50a3a0f5c1a7de61dd169ca175f3690177059a Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Sun, 7 Jan 2018 16:09:29 +0200 Subject: Implemented LogOut from machine studio. Modified Machine Designer image. Fixed issue with updating contact on DB Module. Improved Machine Studio Drawer graphics. --- .../Tango.MachineStudio.UI/ViewModels/MainViewVM.cs | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 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 92c0afa21..061420037 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs @@ -11,6 +11,7 @@ using Tango.Logging; using Tango.MachineStudio.Common; using Tango.MachineStudio.Common.Authentication; using Tango.MachineStudio.Common.Modules; +using Tango.MachineStudio.Common.Navigation; using Tango.MachineStudio.Common.Notifications; using Tango.MachineStudio.Common.StudioApplication; using Tango.MachineStudio.UI.SupervisingController; @@ -24,6 +25,7 @@ namespace Tango.MachineStudio.UI.ViewModels public class MainViewVM : ViewModel { private IStudioModule _currentModule; + private INavigationManager _navigation; private bool _isDisconnecting; public IStudioModule CurrentModule @@ -57,6 +59,8 @@ namespace Tango.MachineStudio.UI.ViewModels public RelayCommand DisconnectCommand { get; set; } + public RelayCommand SignoutCommand { get; set; } + private IAuthenticationProvider _authenticationProvider; public IAuthenticationProvider AuthenticationProvider { @@ -95,8 +99,10 @@ namespace Tango.MachineStudio.UI.ViewModels IAuthenticationProvider authenticationProvider, IStudioModuleLoader studioModuleLoader, INotificationProvider notificationProvider, - IStudioApplicationManager applicationManager) : base(view) + IStudioApplicationManager applicationManager, + INavigationManager navigationManager) : base(view) { + _navigation = navigationManager; AuthenticationProvider = authenticationProvider; StudioModuleLoader = studioModuleLoader; NotificationProvider = notificationProvider; @@ -106,7 +112,8 @@ namespace Tango.MachineStudio.UI.ViewModels HomeCommand = new RelayCommand(Home); ConnectCommand = new RelayCommand(ConnectToMachine); - DisconnectCommand = new RelayCommand(DisconnectFromMachine,(x) => ApplicationManager.IsMachineConnected && !_isDisconnecting); + SignoutCommand = new RelayCommand(SignOut); + DisconnectCommand = new RelayCommand(DisconnectFromMachine, (x) => ApplicationManager.IsMachineConnected && !_isDisconnecting); } private async void DisconnectFromMachine() @@ -122,13 +129,21 @@ namespace Tango.MachineStudio.UI.ViewModels } } + private void SignOut() + { + _authenticationProvider.Logout(); + _navigation.NavigateTo(NavigationView.LoginView); + CurrentModule = null; + IsMenuOpened = false; + } + private void ConnectToMachine() { _notificationProvider.ShowModalDialog((x) => { if (x.SelectedMachine != null) { - _notificationProvider.ShowModalDialog(async (login) => + _notificationProvider.ShowModalDialog(async (login) => { using (NotificationProvider.PushTaskItem("Connecting to machine " + x.SelectedMachine.SerialNumber + "...")) { -- cgit v1.3.1