Example #1
0
 public static CommentsReadEvent Read(Dictionary<byte, object> par)
 {
     var res = new CommentsReadEvent();
     res.PersonId = (int) par[(byte) DiscussionParamKey.PersonId];
     res.TopicId = (int)par[(byte)DiscussionParamKey.ChangedTopicId];
     res.ArgPointId = (int)par[(byte)DiscussionParamKey.ArgPointId];
     res.CommentId = (int)par[(byte)DiscussionParamKey.CommentId];  
     return res;
 }
Example #2
0
        public static CommentsReadEvent Read(Dictionary <byte, object> par)
        {
            var res = new CommentsReadEvent();

            res.PersonId   = (int)par[(byte)DiscussionParamKey.PersonId];
            res.TopicId    = (int)par[(byte)DiscussionParamKey.ChangedTopicId];
            res.ArgPointId = (int)par[(byte)DiscussionParamKey.ArgPointId];
            res.CommentId  = (int)par[(byte)DiscussionParamKey.CommentId];
            return(res);
        }
Example #3
0
        private void OnCommentRead(CommentsReadEvent ev)
        {
            theBadge.HandleCommentRead(ev);

            var topic = lstTopics.SelectedItem as Topic;
            if (topic != null && topic.Id == ev.TopicId)
            {
                bool changedPointOwnedByOtherUser = false;
                var changedPointExt = OwnArgPoints.FirstOrDefault(ap => ap.Ap.Id == ev.ArgPointId);
                if (changedPointExt == null)
                {
                    changedPointExt = ArgPointsOfOtherUser.FirstOrDefault(ap => ap.Ap.Id == ev.ArgPointId);
                    changedPointOwnedByOtherUser = true;
                }

                TimingCtx.Drop();
                var ctx = TimingCtx.GetFresh();

                //if the changed point is our own point
                if (changedPointExt != null)
                {
                    changedPointExt.NumUnreadComments = DaoUtils.NumCommentsUnreadBy(
                        ctx,
                        changedPointExt.Ap.Id).Total();

                    if (changedPointOwnedByOtherUser)
                    {
                        UpdateOtherUsersDots(ctx, changedPointExt.Ap.Person.Id);
                    }
                    else
                    {
                        UpdateLocalUnreadCountsOwn(ctx);
                    }
                }
            }
        }
Example #4
0
 private void OnCommentRead(CommentsReadEvent ev)
 {
     if (ev.TopicId == _doc.TopicId && ev.PersonId == SessionInfo.Get().person.Id)
     {
         //if a comment is read by us in the topic of scene, update the badge to trigger notifications dot
         ReloadBadgeContexts();
     }
 }
Example #5
0
        public void HandleCommentRead(CommentsReadEvent ev)
        {
            var ap = DataContext as ArgPoint;
            if (ap == null)
                return;

            if (ev.ArgPointId != ap.Id)
                return;

            if (ev.PersonId == SessionInfo.Get().person.Id)
            {
                UpdateLocalReadCounts(new DiscCtx(ConfigManager.ConnStr), ap);
            }
            else
            {                
                UpdateRemoteReadCounts(new DiscCtx(ConfigManager.ConnStr), ap);
            }    
        }
Example #6
0
        private void OnCommentRead(CommentsReadEvent ev)
        {
            var ap = DataContext as ArgPoint;
            if (ap == null)
                return;

            if (ev.ArgPointId != ap.Id)
                return;

            if (ev.PersonId == SessionInfo.Get().person.Id)
            {
                var ctx = new DiscCtx(ConfigManager.ConnStr);
                UpdateLocalReadCounts(ctx, ap);
                new CommentNotificationDeferral(Dispatcher, ctx, lstBxComments1);
            }
            else
            {
                UpdateRemoteReadCounts(new DiscCtx(ConfigManager.ConnStr), ap);
            }
        }