示例#1
0
 public bool AddMessage(MessageDTO message)
 {
     try
     {
         var m = new ChatroomMesssage()
         {
             RawMessage        = message.FormattedMessage,
             IntendedForUserId = message.IntendedForUserId,
             StyleMessage      = message.Style
         };
         FormattedMessagesCache.Add(message.Id, m);
         FormattedMessageOrder.Add(message.Id);
         return(true);
     }
     catch (Exception e)
     {
         return(false);
     }
 }
示例#2
0
        public Chatroom(int id, string name, PrivateChatroomOptions options = null)
        {
            Name = name;
            Id   = id;

            IdleTimer          = new Timer();
            IdleTimer.Elapsed += new ElapsedEventHandler(IdleCheck);
            IdleTimer.Interval = 60000;
            IdleTimer.Enabled  = true;

            if (options != null)
            {
                PasswordHash = options.PasswordHash;
                if (options.Blacklist != null)
                {
                    Blacklist = options.Blacklist.Split(',');
                }
                Capacity = options.Capacity;

                Parent = options.Parent;

                IsPrivate = true;
            }
            else
            {
                var messages = MessageService.GetRecentChatroomMessages(Id, 1000);
                foreach (var message in messages)
                {
                    var m = new ChatroomMesssage()
                    {
                        RawMessage        = message.FormattedMessage,
                        IntendedForUserId = message.IntendedForUserId,
                        StyleMessage      = message.Style
                    };
                    FormattedMessagesCache.Add(message.Id, m);
                    FormattedMessageOrder.Add(message.Id);
                }
            }
        }