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; }
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); }
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); } } } }
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(); } }
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); } }
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); } }