private void sendMessage() { //Check empty message if (TextToSend.Text == "") { return; } //Refresh textarea message string message = TextToSend.Text; TextToSend.Text = ""; //Create message string nickname = controller.nickname; string timestamp = Parser.TimestampNow().ToString(); string dest = ""; string hash = Parser.toHash("MESSAGE", nickname, message, timestamp, dest); string rootedby = controller.nickname; MessageMess msg = new MessageMess(nickname, message, timestamp, dest, hash, rootedby); //Send message controller.sender.sendMessage(msg); //Add msg in messagelist string toDisplay = controller.nickname + " : " + message; MessagesList.Items.Add(toDisplay); }
public void sendMessage(String message) { string nickname = controller.nickname; string timestamp = Parser.TimestampNow().ToString(); string rootedby = controller.nickname; string hash = Parser.toHash("MESSAGE", nickname, message, timestamp, Participant); MessageMess msg = new MessageMess(nickname, message, timestamp, "@" + Participant, hash, rootedby); controller.sender.sendMessage(msg); }
private bool haveAlreadyMessage(MessageMess messToCheck) { string rootedBy = messToCheck.Rootedby; foreach (Message msg in HistoryReceiver) { MessageMess mess = (MessageMess)msg; if (mess.Hash == messToCheck.Hash) { return(true); } } return(false); }
public override void onReceiver(Message message) { MessageMess newMess = (MessageMess)message; updateParticipants(newMess.Rootedby); if (haveAlreadyMessage(newMess) || newMess.Nickname == controller.nickname) { Console.WriteLine(controller.nickname + " Already msg ", newMess.Rootedby); return; } else { Console.WriteLine(controller.nickname + " new msg ", newMess.Rootedby); base.onReceiver(message); } bool isPrivateMess = isPrivateMessage(newMess.Destinataire); string nicknameDest = getNickname(newMess.Destinataire); if (isPrivateMess && nicknameDest == controller.nickname) { //Message for me in private room Console.WriteLine("Private room " + newMess.Msg); controller.onReveivedMessage(newMess.Msg, newMess.Nickname, nicknameDest); return; } else if (nicknameDest.Length <= 0) { //Message for me in main room Console.WriteLine("Update main room " + newMess.Msg); controller.onReveivedMessage(newMess.Msg, newMess.Nickname, nicknameDest); } //Update RootedBy field if (newMess.Rootedby.Length <= 0) { newMess.Rootedby += controller.nickname; } else { newMess.Rootedby += "," + controller.nickname; } //Send message with new RootedBy field controller.sender.sendMessage(newMess); }