| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 | using System;using System.Diagnostics;using System.Linq;using System.Windows;using H.Formatters;using H.Pipes;using H.Pipes.Extensions;using InABox.Logikal;using Newtonsoft.Json;namespace PRSLogikal{    /// <summary>    /// Interaction logic for MainWindow.xaml    /// </summary>    public partial class MainWindow    {        private LogikalServer _logikal;        private LogikalListener _listener;        private void Log(string msg)        {            Dispatcher.BeginInvoke(new Func<object>(() => _Log.Text += $"{msg}\n"));        }        public MainWindow()        {            InitializeComponent();            _logikal = new LogikalServer();                        _logikal.Log += (o, e) => Log(e.Message);            _listener = new LogikalListener()            {                Server = _logikal            };            _listener.Disconnecting += (sender, args) => Dispatcher.Invoke(() => Close());             _listener.Log += (o, e) => Log(e.Message);            _listener.Start();        }                private void MainWindow_OnClosed(object sender, EventArgs e)        {            _listener.Stop();            _logikal.Disconnect();        }                private void _connect_OnClick(object sender, RoutedEventArgs e)        {            if (_logikal.Connect(_path.Text) == LogikalStatus.Ok)            {                _connect.IsEnabled = false;                _path.IsEnabled = false;                _disconnect.IsEnabled = true;                _login.IsEnabled = true;                _userid.IsEnabled = true;                _password.IsEnabled = true;                _logout.IsEnabled = false;            }        }                private void _login_OnClick(object sender, RoutedEventArgs e)        {            if (_logikal.Login((_userid).Text, _password.Text) == LogikalStatus.Ok)            {                _disconnect.IsEnabled = false;                _login.IsEnabled = false;                _userid.IsEnabled = false;                _password.IsEnabled = false;                _logout.IsEnabled = true;            }        }        private void _logout_OnClick(object sender, RoutedEventArgs e)        {            if (_logikal.Logout() == LogikalStatus.Ok)            {                _disconnect.IsEnabled = true;                _login.IsEnabled = true;                _userid.IsEnabled = true;                _password.IsEnabled = true;                _logout.IsEnabled = false;            }        }                private void _disconnect_OnClick(object sender, RoutedEventArgs e)        {            if (_logikal.Disconnect() == LogikalStatus.Ok)            {                _connect.IsEnabled = true;                _path.IsEnabled = true;                _disconnect.IsEnabled = false;                _login.IsEnabled = false;                _userid.IsEnabled = false;                _password.IsEnabled = false;            }        }            }}
 |