public ForumModeratorChanged(Tenant tenantId, ForumId forumId, Moderator moderator,string exclusiveOwner)
 {
     this.TenantId = tenantId;
     this.ForumId = forumId;
     this.Moderator = moderator;
     this.ExclusiveOwner = exclusiveOwner;
 }
예제 #2
0
 public void ModeratePost(Post post, Moderator 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);
 }
예제 #3
0
 public ForumStarted(Tenant tenantId, ForumId forumId, Creator creator, Moderator 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;
 }
예제 #4
0
        public Forum(Tenant tenantId, ForumId forumId, Creator creator, Moderator 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 ForumStarted(tenantId, forumId, creator, moderator, subject, description, exclusiveOwner));
        }
예제 #5
0
 public bool IsModeratedBy(Moderator moderator)
 {
     return this.moderator.Equals(moderator);
 }
예제 #6
0
 public void AssignModerator(Moderator moderator)
 {
     AssertOpen();
     AssertionConcern.AssertArgumentNotNull(moderator, "The moderator must be provided.");
     Apply(new ForumModeratorChanged(this.tenantId, this.forumId, moderator, this.exclusiveOwner));
 }
예제 #7
0
 void When(ForumModeratorChanged e)
 {
     this.moderator = e.Moderator;
 }
예제 #8
0
 void When(ForumStarted 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;
 }