public ディスカッションアプリケーションサービス(
     IディスカッションRepository discussionRepository,
     フォーラム識別サービス forumIdentityService,
     IポストRepository postRepository,
     Iコラボレータサービス collaboratorService)
 {
     this.discussionRepository = discussionRepository;
     this.forumIdentityService = forumIdentityService;
     this.postRepository = postRepository;
     this.collaboratorService = collaboratorService;
 }
 public ポスト Post(フォーラム識別サービス forumIdService, 著者 author, string subject, string bodyText, ポストId replyToPostId = null)
 {
     return new ポスト(
         this.tenantId,
         this.forumId,
         this.discussionId,
         forumIdService.GetNexPostId(),
         author,
         subject,
         bodyText,
         replyToPostId);
 }
 public フォーラムアプリケーションサービス(
     フォーラムクエリーサービス forumQueryService,
     IフォーラムRepository forumRepository,
     フォーラム識別サービス forumIdentityService,
     ディスカッションクエリーサービス discussionQueryService,
     IディスカッションRepository discussionRepository,
     Iコラボレータサービス collaboratorService)
 {
     this.forumQueryService = forumQueryService;
     this.forumRepository = forumRepository;
     this.forumIdentityService = forumIdentityService;
     this.discussionQueryService = discussionQueryService;
     this.discussionRepository = discussionRepository;
     this.collaboratorService = collaboratorService;
 }
 public ディスカッション StartDiscussionFor(フォーラム識別サービス forumIdService, 著者 author, string subject, string exclusiveOwner = null)
 {
     AssertOpen();
     return new ディスカッション(
         this.tenantId,
         this.forumId,
         forumIdService.GetNextDiscussionId(),
         author,
         subject,
         exclusiveOwner);
 }