Exemple #1
0
        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));
        }
Exemple #2
0
        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);
            }
        }