public void ProcessTaskComment(object sender, CommentEventArgs e)
        {
            var text = e.Text.TrimStart('#').Trim();

            var d = new Diagnostic {
                message = text,
                range   = e.Span,
                source  = _source
            };

            bool found = false;

            foreach (var kv in _taskCommentMap.MaybeEnumerate().OrderByDescending(kv => kv.Key.Length))
            {
                if (text.IndexOfOrdinal(kv.Key, ignoreCase: true) >= 0)
                {
                    d.code     = kv.Key;
                    d.severity = kv.Value;
                    found      = true;
                    break;
                }
            }

            if (found)
            {
                _onDiagnostic(d);
            }
        }
Example #2
0
        void CommentService_Created(object sender, CommentEventArgs e)
        {
            var ts = new TopicService(ApplicationContext.Current.DatabaseContext);

            //Subscribe to topic
            var ns = new NotificationService(ApplicationContext.Current.DatabaseContext);

            ns.SubscribeToForumTopic(e.Comment.TopicId, e.Comment.MemberId);

            //data for notification:
            var membershipHelper = new MembershipHelper(Umbraco.Web.UmbracoContext.Current);
            var member           = membershipHelper.GetById(e.Comment.MemberId);
            var memberName       = string.Empty;

            if (member != null)
            {
                memberName = member.Name;
            }
            var topic = ts.GetById(e.Comment.TopicId);

            //send notifications
            InstantNotification not = new InstantNotification();

            not.Invoke(Config.ConfigurationFile, Config.AssemblyDir, "NewComment", e.Comment, topic, topic.GetUrl(), memberName);
        }
Example #3
0
        public void InvokeCommentEvent(CommentEventArgs e)
        {
            EventHandler <CommentEventArgs> handler = this.CommentEvent;

            if (handler != null)
            {
                handler(this, e);
            }
        }
        /* Crud */
        public Comment Save(Comment comment, bool updateTopicPostCount = true)
        {
            var newComment = comment.Id <= 0;
            var eventArgs  = new CommentEventArgs()
            {
                Comment = comment
            };

            if (newComment)
            {
                Creating.Raise(this, eventArgs);
            }
            else
            {
                Updating.Raise(this, eventArgs);
            }

            if (!eventArgs.Cancel)
            {
                //save comment
                _databaseContext.Database.Save(comment);


                //topic post count
                if (updateTopicPostCount)
                {
                    UpdateTopicPostsCount(comment);
                }

                //parent comment state
                if (comment.ParentCommentId > 0)
                {
                    var p = GetById(comment.ParentCommentId);
                    if (p != null)
                    {
                        p.HasChildren = true;
                    }
                    Save(p, false);
                }

                if (newComment)
                {
                    Created.Raise(this, eventArgs);
                }
                else
                {
                    Updated.Raise(this, eventArgs);
                }
            }
            else
            {
                CancelledByEvent.Raise(this, eventArgs);
            }

            return(comment);
        }
        protected void CommentControl_Comment(object sender, CommentEventArgs e)
        {
            var userID = this.User.Identity.GetUserId();
            var meme = this.dbContext.Memes.Find(e.DataID);
            var comment = new Comment() { MemeId = meme.Id, UserId = userID, Content = e.Content, CreationDate = DateTime.Now };
            meme.Comments.Add(comment);
            this.dbContext.SaveChanges();

            var control = sender as CommentControl;
            control.Comments = meme.Comments.OrderByDescending(x => x.CreationDate).ToList();
        }
 public void Delete(Comment comment)
 {
     var eventArgs = new CommentEventArgs() { Comment = comment };
     if (Deleting.RaiseAndContinue(this, eventArgs))
     {
         UpdateTopicPostsCount(comment, false);
         _databaseContext.Database.Delete(comment);
         Deleted.Raise(this, eventArgs);
     }
     else
         CancelledByEvent.Raise(this, eventArgs);
 }
        void CommentService_Created(object sender, CommentEventArgs e)
        {
            if (e.Comment != null && e.Comment.MemberId > 0)
            {
                var ms     = ApplicationContext.Current.Services.MemberService;
                var member = ms.GetById(e.Comment.MemberId);
                member.IncreaseForumPostCount();
                ms.Save(member);

                Action a = new Action("NewComment");
                a.Perform(member.Id, e.Comment.Id, "New comment created");
            }
        }
        protected void CommentControl_Comment(object sender, CommentEventArgs e)
        {
            var userID  = this.User.Identity.GetUserId();
            var meme    = this.dbContext.Memes.Find(e.DataID);
            var comment = new Comment()
            {
                MemeId = meme.Id, UserId = userID, Content = e.Content, CreationDate = DateTime.Now
            };

            meme.Comments.Add(comment);
            this.dbContext.SaveChanges();

            var control = sender as CommentControl;

            control.Comments = meme.Comments.OrderByDescending(x => x.CreationDate).ToList();
        }
        public void Delete(Comment comment)
        {
            var eventArgs = new CommentEventArgs()
            {
                Comment = comment
            };

            if (Deleting.RaiseAndContinue(this, eventArgs))
            {
                UpdateTopicPostsCount(comment, false);
                _databaseContext.Database.Delete(comment);
                Deleted.Raise(this, eventArgs);
            }
            else
            {
                CancelledByEvent.Raise(this, eventArgs);
            }
        }
Example #10
0
        protected void CommentControl_Comment(object sender, CommentEventArgs e)
        {
            var articleData = this.data.Articles.Find(articleId);
            var comment     = new Comment()
            {
                ArticleID = articleId,
                CreatorID = loggedUserId,
                CreatedOn = DateTime.Now,
                Content   = e.CommentContent
            };

            this.data.Comments.Add(comment);
            this.data.SaveChanges();

            var control = sender as Comments;

            control.ArticleComments = GetComments(articleData);
            control.mustUpdate      = true;
        }
Example #11
0
        public void ProcessTaskComment(object sender, CommentEventArgs e)
        {
            var text = e.Text.TrimStart('#').Trim();

            var d = new Diagnostic {
                message = text,
                range   = e.Span
            };

            foreach (var kv in _taskCommentMap.MaybeEnumerate())
            {
                if (text.IndexOfOrdinal(kv.Key, ignoreCase: true) >= 0)
                {
                    d.severity = kv.Value;
                    break;
                }
            }

            _onDiagnostic(d);
        }
Example #12
0
        /* Crud */
        public Comment Save(Comment comment, bool updateTopicPostCount = true)
        {
            var newComment = comment.Id <= 0;
            var eventArgs = new CommentEventArgs() { Comment = comment };

            if (newComment)
                Creating.Raise(this, eventArgs);
            else
                Updating.Raise(this, eventArgs);

            if (!eventArgs.Cancel)
            {
                //save comment
                _databaseContext.Database.Save(comment);


                //topic post count
                if(updateTopicPostCount)
                    UpdateTopicPostsCount(comment);

                //parent comment state
                if (comment.ParentCommentId > 0)
                {
                    var p = GetById(comment.ParentCommentId);
                    if (p != null)
                        p.HasChildren = true;
                    Save(p, false);
                }

                if (newComment)
                    Created.Raise(this, eventArgs);
                else
                    Updated.Raise(this, eventArgs);
            }
            else
            {
                CancelledByEvent.Raise(this, eventArgs);
            }

            return comment;
        }
 bool FilterEvent(CommentEventArgs a)
 {
     return a.FileId == _fileId && (_fileVersion == 0 || a.VersionNumber == _fileVersion);
 }
 void OnUserComment(CommentEventArgs e)
 {
     if (string.IsNullOrEmpty(e.UserUuId)) return;
     OnUserActivity(e.UserUuId);
 }
 void OnFileCommentRemoved(CommentEventArgs e)
 {
     lock (_managedRootCommentsCollection)
     {
         RemoveById(_managedRootCommentsCollection, e.CommentId);
     }
 }
        protected void CommentControl_Comment(object sender, CommentEventArgs e)
        {
            var articleData = this.data.Articles.Find(articleId);
            var comment = new Comment()
            {
                ArticleID = articleId,
                CreatorID = loggedUserId,
                CreatedOn = DateTime.Now,
                Content = e.CommentContent
            };

            this.data.Comments.Add(comment);
            this.data.SaveChanges();

            var control = sender as Comments;
            control.ArticleComments = GetComments(articleData);
            control.mustUpdate = true;
        }
 void OnFileCommentAdded(CommentEventArgs e)
 {
     lock (_managedRootCommentsCollection)
     {
         var comment = e.Comment ?? WorkshareOnline.Instance.Commenting.GetById(e.CommentId);
         PlaceNewComment(new CommentViewModel(comment));
     }
 }
 void OnFileCommentEdited(CommentEventArgs e)
 {
     lock (_managedRootCommentsCollection)
     {
         var comment = WorkshareOnline.Instance.Commenting.GetById(e.CommentId);
         UpdateComment(_managedRootCommentsCollection, new CommentViewModel(comment));
     }
 }