Beispiel #1
0
 void CurrentSession_PostSendGroupMessageTimelineStatus(object sender, TimelineStatusGroupEventArgs e)
 {
     lock (_dataContext)
     {
         using (var ctx = new TwitterIrcGatewayDataContext())
         {
             try
             {
                 Timeline timeline = new Timeline
                 {
                     GroupId  = _cacheGroup[e.Group.Name].Id,
                     StatusId = e.Status.Id,
                     UserId   = CurrentSession.TwitterUser.Id
                 };
                 if (ctx.Timeline.Contains(timeline))
                 {
                     return;
                 }
                 ctx.Timeline.InsertOnSubmit(timeline);
                 ctx.SubmitChanges();
             }
             catch (Exception)
             {
                 CurrentSession.Logger.Error("Group not found in _cacheGroup: {0}", e.Group.Name);
                 throw;
             }
         }
     }
 }
        void CurrentSession_PreSendGroupMessageTimelineStatus(object sender, TimelineStatusGroupEventArgs e)
        {
            if (!_recentStatuses.ContainsKey(e.Group.Name))
                _recentStatuses[e.Group.Name] = new List<RecentLogItem>();

            _recentStatuses[e.Group.Name].Add(new RecentLogItem()
                                                  {
                                                      Text = e.Text,
                                                      DateTime = e.Status.CreatedAt,
                                                      Sender = e.Status.User.ScreenName
                                                  });
            if (_recentStatuses[e.Group.Name].Count > MaxCount)
            {
                _recentStatuses[e.Group.Name].RemoveAt(0);
            }
        }
Beispiel #3
0
        void CurrentSession_PreSendGroupMessageTimelineStatus(object sender, TimelineStatusGroupEventArgs e)
        {
            if (!_recentStatuses.ContainsKey(e.Group.Name))
            {
                _recentStatuses[e.Group.Name] = new List <RecentLogItem>();
            }

            _recentStatuses[e.Group.Name].Add(new RecentLogItem()
            {
                Text     = e.Text,
                DateTime = e.Status.CreatedAt,
                Sender   = e.Status.User.ScreenName
            });
            if (_recentStatuses[e.Group.Name].Count > MaxCount)
            {
                _recentStatuses[e.Group.Name].RemoveAt(0);
            }
        }