コード例 #1
0
        public ForumThreadDrop(IPortalLiquidContext portalLiquidContext, IDataAdapterDependencies dependencies, IForumThread thread)
            : base(portalLiquidContext, thread)
        {
            if (dependencies == null)
            {
                throw new ArgumentNullException("dependencies");
            }

            _dependencies = dependencies;

            Thread = thread;
            Author = thread.Author != null ? new AuthorDrop(portalLiquidContext, Thread.Author) : null;

            _adapter = new ForumThreadDataAdapter(thread.EntityReference, dependencies);

            _firstPost  = new Lazy <ForumPostDrop>(() => new ForumPostDrop(this, _dependencies, _adapter.SelectFirstPost()), LazyThreadSafetyMode.None);
            _latestPost = new Lazy <ForumPostDrop>(() => new ForumPostDrop(this, _dependencies, _adapter.SelectLatestPost()), LazyThreadSafetyMode.None);
        }
コード例 #2
0
        public ForumPostsDrop(IPortalLiquidContext portalLiquidContext,
                              IDataAdapterDependencies dependencies,
                              IForumThread forumThread,
                              int startRowIndex = 0, int pageSize = -1) : base(portalLiquidContext)
        {
            Dependencies = dependencies;

            PortalLiquidContext = portalLiquidContext;

            SetParams(startRowIndex, pageSize);

            ForumThread = forumThread;

            var forumAggregationDataAdapter = new ForumThreadDataAdapter(forumThread.Entity.ToEntityReference(), Dependencies);

            _adapter = forumAggregationDataAdapter;

            _posts = new Lazy <ForumPostDrop[]>(() => _adapter.SelectPosts(StartRowIndex, PageSize).Select(e => new ForumPostDrop(this, Dependencies, e)).ToArray(), LazyThreadSafetyMode.None);
        }