MainWindow.xaml.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. using System;
  2. using System.Diagnostics;
  3. using System.Linq;
  4. using System.Windows;
  5. using H.Formatters;
  6. using H.Pipes;
  7. using H.Pipes.Extensions;
  8. using InABox.Logikal;
  9. using Newtonsoft.Json;
  10. namespace PRSLogikal
  11. {
  12. /// <summary>
  13. /// Interaction logic for MainWindow.xaml
  14. /// </summary>
  15. public partial class MainWindow
  16. {
  17. private LogikalServer _logikal;
  18. private LogikalListener _listener;
  19. private void Log(string msg)
  20. {
  21. Dispatcher.BeginInvoke(new Func<object>(() => _Log.Text += $"{msg}\n"));
  22. }
  23. public MainWindow()
  24. {
  25. InitializeComponent();
  26. _logikal = new LogikalServer();
  27. _logikal.Log += (o, e) => Log(e.Message);
  28. _listener = new LogikalListener()
  29. {
  30. Server = _logikal
  31. };
  32. _listener.Log += (o, e) => Log(e.Message);
  33. _listener.Start();
  34. }
  35. private void MainWindow_OnClosed(object sender, EventArgs e)
  36. {
  37. _listener.Stop();
  38. _logikal.Disconnect();
  39. }
  40. private void _connect_OnClick(object sender, RoutedEventArgs e)
  41. {
  42. if (_logikal.Connect(_path.Text) == LogikalStatus.Ok)
  43. {
  44. _connect.IsEnabled = false;
  45. _path.IsEnabled = false;
  46. _disconnect.IsEnabled = true;
  47. _login.IsEnabled = true;
  48. _userid.IsEnabled = true;
  49. _password.IsEnabled = true;
  50. _logout.IsEnabled = false;
  51. }
  52. }
  53. private void _login_OnClick(object sender, RoutedEventArgs e)
  54. {
  55. if (_logikal.Login((_userid).Text, _password.Text) == LogikalStatus.Ok)
  56. {
  57. _disconnect.IsEnabled = false;
  58. _login.IsEnabled = false;
  59. _userid.IsEnabled = false;
  60. _password.IsEnabled = false;
  61. _logout.IsEnabled = true;
  62. }
  63. }
  64. private void _logout_OnClick(object sender, RoutedEventArgs e)
  65. {
  66. if (_logikal.Logout() == LogikalStatus.Ok)
  67. {
  68. _disconnect.IsEnabled = true;
  69. _login.IsEnabled = true;
  70. _userid.IsEnabled = true;
  71. _password.IsEnabled = true;
  72. _logout.IsEnabled = false;
  73. }
  74. }
  75. private void _disconnect_OnClick(object sender, RoutedEventArgs e)
  76. {
  77. if (_logikal.Disconnect() == LogikalStatus.Ok)
  78. {
  79. _connect.IsEnabled = true;
  80. _path.IsEnabled = true;
  81. _disconnect.IsEnabled = false;
  82. _login.IsEnabled = false;
  83. _userid.IsEnabled = false;
  84. _password.IsEnabled = false;
  85. }
  86. }
  87. }
  88. }