private void HandleGlobalChat(List <Session> sessions, int from, int to, ChatType toType, string messagecontent) { var stCLog = new Log_Manager(); var o = 1; foreach (var session in sessions) { if (session.user.idAccount != from) //Do not send message to ourselves { /*Chat chat = new Chat(ChatType.CHAT_TYPE_GLOBAL_CHAT, Misc.CreateChatRoomID(from, session.user.idAccount), messagecontent, Misc.GetUsernameByID(from), Misc.GetUsernameByID(session.user.idAccount)); * session.CreateResponse(new MessagePacket(MessageType.MSG_TYPE_CHAT, from, session.user.idAccount, chat)); * stCLog.content = messagecontent; * stCLog.to_type = toType; * stCLog.from = from; * stCLog.to = session.user.idAccount; * stCLog.SaveLog(); * o++;*/ } } logger.Info("Message sent to {0} users", (o - 1)); }
public void Fakemessage(List <Session> sessions) { Console.WriteLine("Insert the username: "******"Single chat or Group Chat? (1 or 2)"); int choice = Convert.ToInt16(readLine); switch (choice) { case 1: validChoice = true; Console.WriteLine("Insert the destinatary username:"******"Insert your message: "); string tmpmessage = readLine; int from = Misc.GetUserIDByUsername(uname); int to = Misc.GetUserIDByUsername(duname); string chatroomid = Misc.CreateChatRoomID(to, from); Chat c = new Chat(ChatType.CHAT_TYPE_USER_TO_USER, chatroomid, tmpmessage, uname, duname); var msg = new MessagePacket(MessageType.MSG_TYPE_CHAT, from, to, JsonConvert.SerializeObject(c)); logger.Info($"Sending message to {to} - {duname}"); if (sessions.Any(s => s.GetUser().GetID() == to)) { logger.Info("L'utente è nella lista delle sessioni"); if (sessions.First(s => s.GetUser().GetID() == to).GetUser().IsOnline()) { logger.Info("L'utente è online"); Session session = sessions.SingleOrDefault(s => s.GetUser().GetID() == to); logger.Info("Sending message to user"); session?.SendMessage(msg); } } var log = new Log_Manager(); log.ChatID = chatroomid; log.content = tmpmessage; log.to_type = ChatType.CHAT_TYPE_USER_TO_USER; log.from = from; log.to = to; log.SaveLog(); Console.WriteLine(JsonConvert.SerializeObject(msg)); Console.WriteLine("Done."); break; case 2: validChoice = true; logger.Warn("Not yet implemented."); break; default: logger.Warn("Invalid choice"); break; } } while (!validChoice); } }