/// <summary> /// Пытается соединенить сообщение. /// </summary> /// <param name="other">Другое сообщение.</param> /// <returns>Получилось ли соединить сообщение.</returns> public bool TryConcat(Message other) { if (Owner != null && !Owner.Equals(other.Owner)) return false; if ((other.Time - Time).TotalMinutes > ConcatTime) return false; Text += string.Format("{0}{1}", Environment.NewLine, other.Text); return true; }
/// <summary> /// Добавляет сообщение в комнату. /// </summary> /// <param name="nick">Ник пользователя написавшего сообщение.</param> /// <param name="messageId">Идентификатор сообщения.</param> /// <param name="text">Текст сообщения</param> /// <returns>Добавленное сообщение.</returns> public Message AddMessage(string nick, long messageId, string text) { var message = new Message(nick, messageId, text); var lastMessage = GetMessage(lastMessageId - 1); if (lastMessage != null && lastMessage.TryConcat(message)) return lastMessage; messages[message.Id] = message; return message; }