Ejemplo n.º 1
0
 private Task Reply()
 {
     this.ReplyMode    = ReplyMode.Active;
     this.ReplyTitle   = ThreadOrganizer.GetReplyTitle(this.Model.Title);
     this.ReplyMessage = ThreadOrganizer.GetReplyMessage(this.Model);
     return(Task.CompletedTask);
 }
Ejemplo n.º 2
0
        protected override void OnModelChanged()
        {
            if (String.IsNullOrWhiteSpace(this.Model?.Excerpt))
            {
                this.Excerpt = String.Empty;
            }
            else
            {
                var markup = RsdnMarkupReference.Current.Parse(this.Model.Excerpt);

                if (this.Model is PostActivityModel)
                {
                    this.Topic = PostTopic.Post;
                }
                else if (this.Model is ReplyActivityModel)
                {
                    this.Topic = PostTopic.Reply;
                }
                else
                {
                    this.Topic = ThreadOrganizer.DeterminePostTopic(markup, this.Model.Title);
                }

                this.Excerpt = String.Join(Environment.NewLine, markup.ToString()
                                           .Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries)
                                           .Where(line => String.IsNullOrWhiteSpace(line) == false)
                                           .Take(2));
            }

            base.OnModelChanged();
        }
Ejemplo n.º 3
0
        private void ChangeForumSymbol()
        {
            var symbols = ThreadOrganizer.UnknownForumSymbols;

            var newValue = this.ForumId;

            if (newValue != null)
            {
                if (newValue is int)
                {
                    var newId = (int)newValue;
                    symbols = ThreadOrganizer.GetForumSymbols(newId);
                }
            }

            if (this.logoPresenter != null)
            {
                this.logoPresenter.Content = this.Width < 48d ? symbols.ShortSymbol : symbols.MediumSymbol;
            }
        }
Ejemplo n.º 4
0
 public IEnumerable <ThreadModel> Run(ForumThreadsQuery query)
 {
     this.eventDispatcher.PublishAsync(new ForumRequestedEvent(query.ForumId));
     return(ThreadOrganizer.Organize(this.forumGateway.GetThreads(query.ForumId),
                                     this.forumGateway.GetForum(query.ForumId)));
 }
Ejemplo n.º 5
0
 public IEnumerable <PostModel> Run(ThreadPostsQuery query)
 {
     return(ThreadOrganizer.Organize(this.postGateway.GetThreadPosts(query.ThreadId),
                                     this.postGateway.GetThread(query.ThreadId)));
 }