/// <summary>
        /// Gets the message template unique identifier for the specified <see cref="ICommentEvent"/> event.
        /// </summary>
        /// <param name="event">The event.</param>
        protected override Guid GetMessageTemplateId(ICommentEvent @event)
        {
            IComment comment = @event.Item;

            ICommentService cs = SystemManager.GetCommentsService();
            IThread thread = cs.GetThread(comment.ThreadKey);

            var ns = SystemManager.GetNotificationService();
            Guid messageTemplateId;

            if (this.IsReviewThread(thread))
            {
                messageTemplateId = ns.GetMessageTemplates(this.ServiceContext, null)
                    .Where(mt => mt.Subject == "A new review was posted")
                    .Select(m => m.Id).FirstOrDefault();
            }
            else
            {
                messageTemplateId = ns.GetMessageTemplates(this.ServiceContext, null)
                    .Where(mt => mt.Subject == "A new comment was posted")
                    .Select(m => m.Id).FirstOrDefault();
            }

            if (messageTemplateId == Guid.Empty)
            {
                messageTemplateId = base.GetMessageTemplateId(@event);
            }

            return messageTemplateId;
        }
예제 #2
0
        /// <summary>
        /// Gets the message template unique identifier for the specified <see cref="ICommentEvent"/> event.
        /// </summary>
        /// <param name="event">The event.</param>
        protected override Guid GetMessageTemplateId(ICommentEvent @event)
        {
            IComment comment = @event.Item;

            ICommentService cs     = SystemManager.GetCommentsService();
            IThread         thread = cs.GetThread(comment.ThreadKey);

            var  ns = SystemManager.GetNotificationService();
            Guid messageTemplateId;

            if (this.IsReviewThread(thread))
            {
                messageTemplateId = ns.GetMessageTemplates(this.ServiceContext, null)
                                    .Where(mt => mt.Subject == "A new review was posted")
                                    .Select(m => m.Id).FirstOrDefault();
            }
            else
            {
                messageTemplateId = ns.GetMessageTemplates(this.ServiceContext, null)
                                    .Where(mt => mt.Subject == "A new comment was posted")
                                    .Select(m => m.Id).FirstOrDefault();
            }

            if (messageTemplateId == Guid.Empty)
            {
                messageTemplateId = base.GetMessageTemplateId(@event);
            }

            return(messageTemplateId);
        }
        /// <summary>
        /// Gets the message template unique identifier for the specified <see cref="ICommentEvent"/> event.
        /// </summary>
        /// <param name="event">The event.</param>
        protected override IMessageTemplateRequest GetMessageTemplate(ICommentEvent @event)
        {
            if (@event == null || @event.Item == null)
            {
                return(null);
            }

            IMessageTemplateRequest messageTemplate;
            IComment        comment = @event.Item;
            ICommentService cs      = SystemManager.GetCommentsService();
            IThread         thread  = cs.GetThread(comment.ThreadKey);

            if (this.IsReviewThread(thread))
            {
                messageTemplate = this.GetNewReviewMessageTemplate();
            }
            else
            {
                messageTemplate = this.GetNewCommentMessageTemplate();
            }

            return(messageTemplate);
        }