| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 | 
							- using System;
 
- using System.Diagnostics;
 
- using System.Linq;
 
- using System.Windows;
 
- using System.Windows.Interop;
 
- using H.Formatters;
 
- using H.Pipes;
 
- using H.Pipes.Extensions;
 
- using InABox.Integration.Logikal;
 
- using Newtonsoft.Json;
 
- namespace PRSLogikal
 
- {
 
-     /// <summary>
 
-     /// Interaction logic for MainWindow.xaml
 
-     /// </summary>
 
-     public partial class MainWindow
 
-     {
 
-         private LogikalServer _server;
 
-         private LogikalListener _listener;
 
-         private void Log(string msg)
 
-         {
 
-             Dispatcher.BeginInvoke(new Func<object>(() => _Log.Text += $"{msg}\n"));
 
-         }
 
-         public MainWindow()
 
-         {
 
-             InitializeComponent();
 
-           
 
-         }
 
-         
 
-         private void MainWindow_OnClosed(object sender, EventArgs e)
 
-         {
 
-             if (bClosing)
 
-             {
 
-                 _listener.Stop();
 
-                 _server.Disconnect();
 
-             }
 
-         }
 
-         
 
-         private void _connect_OnClick(object sender, RoutedEventArgs e)
 
-         {
 
-             var _request = new LogikalConnectRequest() { Path = _path.Text };
 
-             var _response = _server.Connect(_request);
 
-             Log($"Connect(): {_response}");
 
-             if (_response is LogikalConnectResponse)
 
-             {
 
-                 _connect.IsEnabled = false;
 
-                 _path.IsEnabled = false;
 
-                 _disconnect.IsEnabled = true;
 
-                 _login.IsEnabled = true;
 
-                 _userid.IsEnabled = true;
 
-                 _password.IsEnabled = true;
 
-                 _logout.IsEnabled = false;
 
-                 _projects.IsEnabled = false;
 
-             }
 
-         }
 
-         
 
-         private void _login_OnClick(object sender, RoutedEventArgs e)
 
-         {
 
-             var _request = new LogikalLoginRequest();
 
-             var _response = _server.Login(_request);
 
-             Log($"Login(): {_response}");
 
-             if (_response is LogikalLoginResponse)
 
-             {
 
-                 _disconnect.IsEnabled = false;
 
-                 _login.IsEnabled = false;
 
-                 _userid.IsEnabled = false;
 
-                 _password.IsEnabled = false;
 
-                 _logout.IsEnabled = true;
 
-                 _projects.IsEnabled = true;
 
-             }
 
-         }
 
-         private void _logout_OnClick(object sender, RoutedEventArgs e)
 
-         {
 
-             var _response = _server.Logout();
 
-             Log($"Logout(): {_response}");
 
-             if (_response is LogikalLoginResponse)
 
-             {
 
-                 _disconnect.IsEnabled = true;
 
-                 _login.IsEnabled = true;
 
-                 _userid.IsEnabled = true;
 
-                 _password.IsEnabled = true;
 
-                 _logout.IsEnabled = false;
 
-                 _projects.IsEnabled = false;
 
-             }
 
-         }
 
-         
 
-         private void _disconnect_OnClick(object sender, RoutedEventArgs e)
 
-         {
 
-             var _response = _server.Disconnect();
 
-             Log($"Disconnect(): {_response}");
 
-             if (_response is LogikalDisconnectResponse)
 
-             {
 
-                 _connect.IsEnabled = true;
 
-                 _path.IsEnabled = true;
 
-                 _disconnect.IsEnabled = false;
 
-                 _login.IsEnabled = false;
 
-                 _userid.IsEnabled = false;
 
-                 _password.IsEnabled = false;
 
-                 _projects.IsEnabled = false;
 
-             }
 
-         }
 
-         private void _projects_OnClick(object sender, RoutedEventArgs e)
 
-         {
 
-             
 
-             // var _request = new LogikalProjectsRequest();
 
-             // var _response = _server.GetProjects(_request);
 
-             // Log($"GetProjects(): {_response}");
 
-             // if (_response is LogikalProjectsResponse<LogikalProject> _projects)
 
-             // {
 
-             //     foreach (var _project in _projects.Projects)
 
-             //     {
 
-             //         Log(_project.Name);
 
-             //     }
 
-             // }
 
-         }
 
-         private void Window_Loaded(object sender, RoutedEventArgs args)
 
-         {
 
-             _server = new LogikalServer(new WindowInteropHelper(this).Handle);
 
-             _server.Log += (o, e) => Log(e.Message);
 
-             _listener = new LogikalListener()
 
-             {
 
-                 Server = _server
 
-             };
 
-             _listener.Disconnecting += (o, e) => Dispatcher.Invoke(() => Close());
 
-             _listener.Log += (o, e) => Log(e.Message);
 
-             _listener.Start();
 
-             Hide();
 
-         }
 
-         private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
 
-         {
 
-             if (!bClosing)
 
-             {
 
-                 Hide();
 
-                 e.Cancel = true;
 
-             }
 
-         }
 
-         private void ShowInterfaceClick(object sender, RoutedEventArgs e)
 
-         {
 
-             Show();
 
-         }
 
-         private bool bClosing = false;
 
-         private void DoExitClick(object sender, RoutedEventArgs e)
 
-         {
 
-             bClosing = true;
 
-             Close();
 
-         }
 
-     }
 
- }
 
 
  |