コード例 #1
0
        internal async Task LoadPostsAsync()
        {
            this.PostsState = ItemsState.Loading;
            this.PostsState = await PresenterExtensions.RefreshItemsAsync <PostPresenter, PostModel>(this.Posts,
                                                                                                     this.host.RunQueryAsync(new ThreadPostsQuery(this.Model.Id)),
                                                                                                     m => new PostPresenter(this.host)
            {
                Model = m
            });

            this.CurrentPost = this.Posts.FirstOrDefault();
        }
コード例 #2
0
ファイル: ActivityPresenter.cs プロジェクト: vborovikov/rsdn
        internal async Task LoadThreadsAsync()
        {
            var threadId = this.CurrentThread?.Model.Id;

            this.ThreadsState = ItemsState.Loading;
            this.ThreadsState = await PresenterExtensions.RefreshItemsAsync(
                this.Threads,
                this.host.RunQueryAsync(GetThreadsQuery()),
                m => new ThreadPresenter(this.host)
            {
                Model = m
            });

            this.CurrentThread =
                this.Threads.FirstOrDefault(thread => thread.Model.Id == threadId) ??
                this.Threads.FirstOrDefault(thread => thread.IsNew) ??
                this.Threads.FirstOrDefault();
        }