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.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();
- }
- }
- }
|