aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/StubsUtils/Tango.StubsUtils.Service.UI/ViewModels/MainViewVM.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/StubsUtils/Tango.StubsUtils.Service.UI/ViewModels/MainViewVM.cs')
-rw-r--r--Software/Visual_Studio/StubsUtils/Tango.StubsUtils.Service.UI/ViewModels/MainViewVM.cs68
1 files changed, 68 insertions, 0 deletions
diff --git a/Software/Visual_Studio/StubsUtils/Tango.StubsUtils.Service.UI/ViewModels/MainViewVM.cs b/Software/Visual_Studio/StubsUtils/Tango.StubsUtils.Service.UI/ViewModels/MainViewVM.cs
new file mode 100644
index 000000000..4e8b144e5
--- /dev/null
+++ b/Software/Visual_Studio/StubsUtils/Tango.StubsUtils.Service.UI/ViewModels/MainViewVM.cs
@@ -0,0 +1,68 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using Tango.Core.Commands;
+using Tango.SharedUI;
+using Tango.SharedUI.Helpers;
+
+namespace Tango.StubsUtils.Service.UI.ViewModels
+{
+ public class MainViewVM : ViewModel
+ {
+ private StubsService _service;
+ public StubsService Service
+ {
+ get { return _service; }
+ set { _service = value; RaisePropertyChangedAuto(); }
+ }
+
+ private bool _isTrayIconVisible;
+ public bool IsTrayIconVisible
+ {
+ get { return _isTrayIconVisible; }
+ set { _isTrayIconVisible = value; RaisePropertyChangedAuto(); }
+ }
+
+
+ public RelayCommand ExitCommand { get; set; }
+ public RelayCommand OpenCommand { get; set; }
+
+ public MainViewVM()
+ {
+ Init();
+ ExitCommand = new RelayCommand(ExitApplication);
+ OpenCommand = new RelayCommand(OpenMainWindow);
+ IsTrayIconVisible = true;
+ }
+
+ public async void Init()
+ {
+ Service = new StubsService();
+ await Service.Start();
+
+ await Task.Delay(10000);
+ await Service.Connect();
+ }
+
+ private async void OpenMainWindow()
+ {
+ Application.Current.MainWindow.Visibility = Visibility.Visible;
+ await Task.Delay(200);
+ Application.Current.MainWindow.WindowState = WindowState.Normal;
+ Application.Current.MainWindow.Focus();
+ Application.Current.MainWindow.Activate();
+ IsTrayIconVisible = false;
+ }
+
+ public async void ExitApplication()
+ {
+ IsTrayIconVisible = false;
+ UIHelper.DoEvents();
+ await Task.Delay(1000);
+ Environment.Exit(0);
+ }
+ }
+}