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); }
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); }