public void SendInfoBike(string info, int value) { string json = jc.getJson(jc.SendMessage(info, value)); ConnectionUtils.SendMessage(this.BikeStream, json); }
/// <summary> /// The method that will be launched by the thread. It also hold all of the logic of the HandleClient class. /// </summary> public void Run() { this.Stream = Client.GetStream(); bool done = false; while (!done) { string nonCheckedString = ConnectionUtils.ReadMessage(this.Stream); if (!string.IsNullOrEmpty(nonCheckedString)) { dynamic jsonReceive = JsonConvert.DeserializeObject(nonCheckedString); string id = jsonReceive.id; switch (id) { case "AddClient": CheckName(jsonReceive); Console.WriteLine("Accepted client: {0}, Name: {1}", DateTime.Now, this.Name); break; case "AddUser": AddPatient(jsonReceive); break; case "Bike": AddDataBikeInfo(jsonReceive); break; case "Change": SendChange(jsonReceive); break; case "ChangeTime": SendChange(jsonReceive); break; case "ChangePower": SendChange(jsonReceive); break; case "PersonalMessage": string name = jsonReceive.name; NetworkStream streamP = clientList[name].Stream; string messageP = jsonReceive.message; string json = jsonConnector.getJson(jsonConnector.SendMessage(messageP, 1)); ConnectionUtils.SendMessage(streamP, json); break; case "EmergencyStop": string name2 = jsonReceive.name; NetworkStream streamES = clientList[name2].Stream; string json2 = jsonConnector.getJson(jsonReceive); ConnectionUtils.SendMessage(streamES, json2); break; case "Login": CheckLogin(jsonReceive); break; case "StartSession": clientList[machine].StartSession(jsonReceive, this.date, this.nameOfPatient); break; case "AccesHistory": Console.WriteLine(jsonReceive); SendHistory(jsonReceive); break; case "AddPatient": AddPatient(jsonReceive); break; case "Combo": Combine(jsonReceive); break; case "PatientNames": this.patients = JsonConvert.DeserializeObject <List <Patient> >(jsonReceive.data.ToString()); File.WriteAllText("../../res/PatientData.json", JsonConvert.SerializeObject(this.patients)); break; case "StartAstrand": string AaName = jsonReceive.name; Patient p = jsonReceive.patient.ToObject <Patient>(); Server.StartAstrand(machine, p, clientList[AaName].Stream, clientList["doctor"].Stream); break; } } } RemoveName(); this.Client.Close(); Console.WriteLine("Client {0} closed", this.Name); this.Stream.Close(); Console.WriteLine("Networkstream closed of client {0}", this.Name); }