| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
-
- namespace EEMSCenterUI.ViewModels;
- internal partial class MainWindowViewModel : ObservableObject, IEEMSBaseServerProvider
- {
- public MainWindowViewModel()
- {
- this.Server = new()
- {
- IP = "127.0.0.1",
- Port = 50054
- };
- }
- [ObservableProperty]
- private ServiceEndpoint _Server;
- [RelayCommand]
- private void StartService()
- {
- EEMSBaseServer baseServer = new();
- baseServer.Initialize(this);
- Task.Factory.StartNew(async () =>
- {
- if (!await baseServer.StartServiceAsync(this.Server.IP!, this.Server.Port))
- MessageBox.Show("Service Start Failed");
- }, TaskCreationOptions.LongRunning);
- }
- void IEEMSBaseServerProvider.Started()
- {
- Task.Factory.StartNew(() =>
- {
- MessageBox.Show($"Service Started {this.Server.IP}:{this.Server.Port}");
- });
- }
- void IEEMSBaseServerProvider.OnConnected(string ip, ushort port, ServiceHub serviceHub)
- {
- ServiceEndpoint serviceEndpoint = new()
- {
- IP = ip,
- Port = port,
- Hub = serviceHub
- };
- App.Current.Dispatcher?.Invoke(() =>
- {
- Clients[$"{ip}{port}{serviceHub}"] = serviceEndpoint;
- });
- }
- public void OnDisConnected(string ip, ushort port, ServiceHub serviceHub)
- {
- App.Current.Dispatcher?.Invoke(() =>
- {
- Clients.TryRemove($"{ip}{port}{serviceHub}", out _);
- });
- }
- [ObservableProperty]
- ObservableDictionary<string, ServiceEndpoint> _Clients = [];
- }
- public partial class ServiceEndpoint : ObservableObject
- {
- [ObservableProperty]
- private string? _IP;
- [ObservableProperty]
- private ushort _Port;
- [ObservableProperty]
- private ServiceHub _Hub;
- }
|