public フォーラムモデレータ変更時(テナント tenantId, フォーラムId forumId, モデレータ moderator,string exclusiveOwner)
 {
     this.TenantId = tenantId;
     this.ForumId = forumId;
     this.Moderator = moderator;
     this.ExclusiveOwner = exclusiveOwner;
 }
 public フォーラム開始時(テナント tenantId, フォーラムId forumId, クリエイタ creator, モデレータ moderator, string subject, string description, string exclusiveOwner)
 {
     this.TenantId = tenantId;
     this.ForumId = forumId;
     this.Creator = creator;
     this.Moderator = moderator;
     this.Subject = subject;
     this.Description = description;
     this.ExclusiveOwner = exclusiveOwner;
 }
        public フォーラム(テナント tenantId, フォーラムId forumId, クリエイタ creator, モデレータ moderator, string subject, string description, string exclusiveOwner)
        {
            AssertionConcern.AssertArgumentNotNull(tenantId, "The tenant must be provided.");
            AssertionConcern.AssertArgumentNotNull(forumId, "The forum id must be provided.");
            AssertionConcern.AssertArgumentNotNull(creator, "The creator must be provided.");
            AssertionConcern.AssertArgumentNotNull(moderator, "The moderator must be provided.");
            AssertionConcern.AssertArgumentNotEmpty(subject, "The subject must be provided.");
            AssertionConcern.AssertArgumentNotEmpty(description, "The description must be provided.");

            Apply(new フォーラム開始時(tenantId, forumId, creator, moderator, subject, description, exclusiveOwner));
        }
 public void ModeratePost(ポスト post, モデレータ moderator, string subject, string bodyText)
 {
     AssertOpen();
     AssertionConcern.AssertArgumentNotNull(post, "Post may not be null.");
     AssertionConcern.AssertArgumentEquals(this.forumId, post.ForumId, "Not a post of this forum.");
     AssertionConcern.AssertArgumentTrue(IsModeratedBy(moderator), "Not the moderator of this forum.");
     post.AlterPostContent(subject, bodyText);
 }
 public bool IsModeratedBy(モデレータ moderator)
 {
     return this.moderator.Equals(moderator);
 }
 public void AssignModerator(モデレータ moderator)
 {
     AssertOpen();
     AssertionConcern.AssertArgumentNotNull(moderator, "The moderator must be provided.");
     Apply(new フォーラムモデレータ変更時(this.tenantId, this.forumId, moderator, this.exclusiveOwner));
 }
 void When(フォーラムモデレータ変更時 e)
 {
     this.moderator = e.Moderator;
 }
 void When(フォーラム開始時 e)
 {
     this.tenantId = e.TenantId;
     this.forumId = e.ForumId;
     this.creator = e.Creator;
     this.moderator = e.Moderator;
     this.subject = e.Subject;
     this.description = e.Description;
     this.exclusiveOwner = e.ExclusiveOwner;
 }