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(); } }
static public void reset() { lock (_users) { _users = new Dictionary <string, User>(); } Messages.reset(); HashTags.reset(); }
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"); } }