Esempio n. 1
0
        static public void add(string userName, string content)
        {
            if (content.Length == 0 || content.Length >= 140)
            {
                throw new InvalidMessage();
            }

            try {
                Message message = new Message()
                {
                    content = content
                };
                User user = Users.addMessage(userName, message);
                message.user = user;

                Regex re = new Regex(@"\B(#(-|_|\w)+)");

                MatchCollection match = re.Matches(content);

                for (int i = 0; i < match.Count; i++)
                {
                    HashTags.associate(match[i].ToString(), message);
                }

                lock (_messages) {
                    _messages.Add(message);
                }
            } catch (InvalidUserName) {
                throw new InvalidUserName();
            }
        }
Esempio n. 2
0
        static public void reset()
        {
            lock (_users) {
                _users = new Dictionary <string, User>();
            }

            Messages.reset();
            HashTags.reset();
        }
Esempio n. 3
0
        public string execute()
        {
            List <HashTag> hashTags = HashTags.getMostUsed(5);

            string output = "";

            foreach (HashTag hashTag in hashTags)
            {
                output += hashTag.hash + "\n";
            }

            return(output);
        }
        public string execute()
        {
            try {
                List <Message> messages = HashTags.getMessagesWithHashTag(_hash);

                string output = "";

                foreach (Message message in messages)
                {
                    output += message.user.name + " " + message.content + "\n";
                }

                return(output);
            } catch (InvalidHashTag) {
                return("palavra-marcada-invalida");
            } catch (HashTagDoesNotExist) {
                return("palavra-marcada-nao-encontrada");
            }
        }