ADD] added message sending to all clients, doesn't work yet
This commit is contained in:
Sem van der Hoeven
2020-10-27 21:24:47 +01:00
parent fab3ed7705
commit cda8b47ca3
5 changed files with 18 additions and 7 deletions

View File

@@ -43,7 +43,7 @@ namespace ClientApp.Utils
/// </summary> /// </summary>
private void initEngine() private void initEngine()
{ {
Debug.WriteLine("init engine"); Debug.WriteLine("[CLIENT] init engine");
engineConnection = EngineConnection.INSTANCE; engineConnection = EngineConnection.INSTANCE;
engineConnection.OnNoTunnelId = RetryEngineConnection; engineConnection.OnNoTunnelId = RetryEngineConnection;
engineConnection.OnSuccessFullConnection = engineConnected; engineConnection.OnSuccessFullConnection = engineConnected;

View File

@@ -27,7 +27,7 @@ namespace ClientApp.Utils
//new PC("DESKTOP-M2CIH87", "Fabian"), //new PC("DESKTOP-M2CIH87", "Fabian"),
//new PC("T470S", "Shinichi"), //new PC("T470S", "Shinichi"),
//new PC("DESKTOP-DHS478C", "semme"), //new PC("DESKTOP-DHS478C", "semme"),
//new PC("HP-ZBOOK-SEM", "Sem") new PC("HP-ZBOOK-SEM", "Sem")
//new PC("DESKTOP-TV73FKO", "Wouter"), //new PC("DESKTOP-TV73FKO", "Wouter"),
//new PC("DESKTOP-SINMKT1", "Ralf van Aert"), //new PC("DESKTOP-SINMKT1", "Ralf van Aert"),
//new PC("NA", "Bart") //new PC("NA", "Bart")
@@ -71,7 +71,7 @@ namespace ClientApp.Utils
updateTimer.AutoReset = true; updateTimer.AutoReset = true;
updateTimer.Enabled = false; updateTimer.Enabled = false;
noVRResponseTimer = new System.Timers.Timer(15000); noVRResponseTimer = new System.Timers.Timer(30000);
noVRResponseTimer.Elapsed += noVRResponseTimeout; noVRResponseTimer.Elapsed += noVRResponseTimeout;
noVRResponseTimer.AutoReset = false; noVRResponseTimer.AutoReset = false;
noVRResponseTimer.Enabled = false; noVRResponseTimer.Enabled = false;

View File

@@ -43,12 +43,14 @@ namespace DoctorApp.ViewModels
public MainWindowViewModel MainWindowViewModel { get; set; } public MainWindowViewModel MainWindowViewModel { get; set; }
private Client client; private Client client;
private MainViewModel parent;
public Chart Chart { get; set; } public Chart Chart { get; set; }
public ClientInfoViewModel(MainWindowViewModel mainWindowViewModel, string username) public ClientInfoViewModel(MainViewModel parent,MainWindowViewModel mainWindowViewModel, string username)
{ {
MainWindowViewModel = mainWindowViewModel; MainWindowViewModel = mainWindowViewModel;
this.parent = parent;
this.PatientInfo = new PatientInfo() { Username = username, Status = "Waiting to start" }; this.PatientInfo = new PatientInfo() { Username = username, Status = "Waiting to start" };
this.Chart = new Chart(this.PatientInfo); this.Chart = new Chart(this.PatientInfo);
PatientInfo.ChatLog = new ObservableCollection<string>(); PatientInfo.ChatLog = new ObservableCollection<string>();
@@ -75,8 +77,7 @@ namespace DoctorApp.ViewModels
ChatToAll = new RelayCommand<object>((parameter) => ChatToAll = new RelayCommand<object>((parameter) =>
{ {
//todo save clientinfoviewmodels in mainviewmodel this.parent?.SendToAllClients(((TextBox)parameter).Text);
//todo send message to client of every clientinfoviewmodel
}); });
SetResistance = new RelayCommand<object>((parameter) => SetResistance = new RelayCommand<object>((parameter) =>

View File

@@ -30,7 +30,7 @@ namespace DoctorApp.ViewModels
Debug.WriteLine("new tab with name " + username); Debug.WriteLine("new tab with name " + username);
App.Current.Dispatcher.Invoke((Action)delegate App.Current.Dispatcher.Invoke((Action)delegate
{ {
Tabs.Add(new ClientInfoViewModel(MainWindowViewModel, username)); Tabs.Add(new ClientInfoViewModel(this,MainWindowViewModel, username));
}); });
} }
@@ -72,6 +72,15 @@ namespace DoctorApp.ViewModels
} }
} }
} }
internal void SendToAllClients(string text)
{
Debug.WriteLine("[MAINVIEWMODEL] Sending message to all clients: " + text);
foreach (ClientInfoViewModel item in Tabs)
{
item.SendMessageToClient(item.PatientInfo.Username, text);
}
}
} }

View File

@@ -6,6 +6,7 @@ using System.Windows.Input;
using DoctorApp.Models; using DoctorApp.Models;
using DoctorApp.Utils; using DoctorApp.Utils;
using Util.MagicCode; using Util.MagicCode;
using System;
namespace DoctorApp.ViewModels namespace DoctorApp.ViewModels
{ {