Ejemplo n.º 1
0
 private void UpdateLocalUnreadCountsOfOtherUser(DiscCtx ctx)
 {
     foreach (var ap in ArgPointsOfOtherUser)
     {
         ap.NumUnreadComments = DaoUtils.NumCommentsUnreadBy(ctx, ap.Ap.Id).Total();
     }
 }
Ejemplo n.º 2
0
        private void UpdateLocalReadCounts(DiscCtx ctx, ArgPoint ap)
        {
            if (ap == null)
            {
                return;
            }

            SetNumUnreadComments(DaoUtils.NumCommentsUnreadBy(ctx, ap.Id));
        }
Ejemplo n.º 3
0
        private void UpdateLocalReadCounts(DiscCtx ctx, ArgPoint ap)
        {
            if (ap == null)
            {
                return;
            }

            SetNumUnreadComments(DaoUtils.NumCommentsUnreadBy(ctx, ap.Id).Total());
            new CommentNotificationDeferral(Dispatcher, ctx, lstBxComments);
        }
Ejemplo n.º 4
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);
                    }
                }
            }
        }