aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/FSE/Modules/Tango.FSE.MachineConfiguration/ViewModels/SelectionViewVM.cs
diff options
context:
space:
mode:
authorMirta <mirta@twine-s.com>2020-11-23 16:13:53 +0200
committerMirta <mirta@twine-s.com>2020-11-23 16:13:53 +0200
commit91c007adced573e09b77ab4be4a5aba623a816cc (patch)
tree250221fc2def7d59f1393be8394f766faf576656 /Software/Visual_Studio/FSE/Modules/Tango.FSE.MachineConfiguration/ViewModels/SelectionViewVM.cs
parent4e9af2b852eb3b9eecfa09e9bc76869558e183cb (diff)
parent50a3c0b857b4aa88a9e3970d69256f12b5b24eb8 (diff)
downloadTango-91c007adced573e09b77ab4be4a5aba623a816cc.tar.gz
Tango-91c007adced573e09b77ab4be4a5aba623a816cc.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/FSE/Modules/Tango.FSE.MachineConfiguration/ViewModels/SelectionViewVM.cs')
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.MachineConfiguration/ViewModels/SelectionViewVM.cs80
1 files changed, 80 insertions, 0 deletions
diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.MachineConfiguration/ViewModels/SelectionViewVM.cs b/Software/Visual_Studio/FSE/Modules/Tango.FSE.MachineConfiguration/ViewModels/SelectionViewVM.cs
new file mode 100644
index 000000000..39772a4cf
--- /dev/null
+++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.MachineConfiguration/ViewModels/SelectionViewVM.cs
@@ -0,0 +1,80 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.BL.Entities;
+using Tango.Core.Commands;
+using Tango.FSE.Common;
+using Tango.FSE.MachineConfiguration.Navigation;
+
+namespace Tango.FSE.MachineConfiguration.ViewModels
+{
+ public class SelectionViewVM : ConfigurationViewModel
+ {
+ private Machine _selectedMachine;
+ /// <summary>
+ /// Gets or sets the selected machine.
+ /// </summary>
+ public Machine SelectedMachine
+ {
+ get { return _selectedMachine; }
+ set
+ {
+ _selectedMachine = value;
+ RaisePropertyChangedAuto();
+ InvalidateRelayCommands();
+ OnSelectedMachineChanged();
+ }
+ }
+
+ public RelayCommand ManageMachineCommand { get; set; }
+
+ public SelectionViewVM()
+ {
+ ManageMachineCommand = new RelayCommand(ManageSelectedMachine, () => SelectedMachine != null);
+ }
+
+ private async void OnSelectedMachineChanged()
+ {
+ if (SelectedMachine != null)
+ {
+ await Task.Delay(100);
+ this.SetFocus(() => ManageMachineCommand);
+ }
+ }
+
+ private void ManageSelectedMachine()
+ {
+ if (SelectedMachine == null)
+ {
+ NotificationProvider.ShowError("No machine selected.");
+ return;
+ }
+
+ ModularNavigationManager.NavigateTo(ConfigurationView.MachineView, new MachineViewVM.NavigationObject()
+ {
+ MachineGuid = SelectedMachine.Guid
+ });
+ }
+
+ public override void OnNavigatedTo()
+ {
+ base.OnNavigatedTo();
+
+ if (SelectedMachine == null && MachineProvider.Machine != null)
+ {
+ SelectedMachine = MachineProvider.Machine;
+ }
+ }
+
+ public override Task<bool> OnApplicationLogout()
+ {
+ ModularNavigationManager.NavigateTo(ConfigurationView.SelectionView);
+ SelectedMachine = null;
+ return base.OnApplicationLogout();
+ }
+ }
+}
+
+