From c69bfda291b430896fb6c2ed43786bf97705475b Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Tue, 20 Oct 2015 12:58:37 +0200 Subject: [PATCH] Added chat to old sessions --- ErgometerServer/DoctorThread.cs | 11 +++++++++-- ErgometerServer/ErgometerServer.csproj | 4 ++-- ErgometerServer/FileHandler.cs | 16 +++++++++++++++- 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/ErgometerServer/DoctorThread.cs b/ErgometerServer/DoctorThread.cs index bd6a8e4..ada2a45 100644 --- a/ErgometerServer/DoctorThread.cs +++ b/ErgometerServer/DoctorThread.cs @@ -57,13 +57,20 @@ namespace ErgometerServer sendToDoctor(new NetCommand(user.Key, user.Value, input.Session)); } break; + case NetCommand.RequestType.CHAT: + List chat = FileHandler.ReadChat(input.Session); + foreach (ChatMessage msg in chat) + { + Thread.Sleep(10); + sendToDoctor(new NetCommand(msg.Message, msg.IsDoctor, input.Session)); + } + break; case NetCommand.RequestType.OLDDATA: List metingen = FileHandler.ReadMetingen(input.Session); foreach (Meting meting in metingen) { Thread.Sleep(10); - sendToDoctor(new NetCommand(meting, input.Session)); - Console.WriteLine(new NetCommand(meting, input.Session)); + sendToDoctor(new NetCommand(meting, input.Session)); } break; case NetCommand.RequestType.ALLSESSIONS: diff --git a/ErgometerServer/ErgometerServer.csproj b/ErgometerServer/ErgometerServer.csproj index c27f517..ebff0f3 100644 --- a/ErgometerServer/ErgometerServer.csproj +++ b/ErgometerServer/ErgometerServer.csproj @@ -33,9 +33,9 @@ 4 - + False - ..\..\ErgometerLibrary\ErgometerLibrary\bin\Debug\ErgometerLibrary.dll + ..\..\..\ErgometerLibrary\ErgometerLibrary\ErgometerLibrary\bin\Debug\ErgometerLibrary.dll ..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll diff --git a/ErgometerServer/FileHandler.cs b/ErgometerServer/FileHandler.cs index 908eafa..b9bc68f 100644 --- a/ErgometerServer/FileHandler.cs +++ b/ErgometerServer/FileHandler.cs @@ -71,6 +71,7 @@ namespace ErgometerServer File.WriteAllText(GetSessionMetingen(session), json); Console.WriteLine("Writing metingen: " + GetSessionMetingen(session)); } + File.WriteAllText(GetSessionFile(session), File.ReadAllText(GetSessionFile(session)) + Environment.NewLine + Helper.Now); } public static List ReadMetingen(int session) @@ -101,6 +102,7 @@ namespace ErgometerServer { if (Directory.Exists(GetSessionFolder(session))) { + /* string write = ""; foreach (ChatMessage c in chat) { @@ -109,9 +111,21 @@ namespace ErgometerServer File.WriteAllText(GetSessionChat(session), write); Console.WriteLine("Writing chat: " + GetSessionChat(session)); + */ + string json = Newtonsoft.Json.JsonConvert.SerializeObject(chat.ToArray()); + File.WriteAllText(GetSessionChat(session), json); + Console.WriteLine("Writing chat: " + GetSessionChat(session)); } } + public static List ReadChat(int session) + { + string json = File.ReadAllText(GetSessionChat(session)); + + List chat = Newtonsoft.Json.JsonConvert.DeserializeObject>(json); + return chat; + } + private static string GetSessionFolder(int session) { return Path.Combine(DataFolder, session.ToString()); @@ -126,7 +140,7 @@ namespace ErgometerServer } private static string GetSessionChat(int session) { - return Path.Combine(DataFolder, session.ToString(), "chat.log"); + return Path.Combine(DataFolder, session.ToString(), "chat.ergo"); } //USER MANAGEMENT