public void StartExclusiveForumWithDiscussion( string tenantId, string exclusiveOwner, string creatorId, string moderatorId, string authorId, string forumSubject, string forumDescription, string discussionSubject, IForumCommandResult result = null) { var tenant = new Tenant(tenantId); Forum forum = null; var forumId = this.forumQueryService.GetForumIdByExclusiveOwner(tenantId, exclusiveOwner); if (forumId != null) { forum = this.forumRepository.Get(tenant, new ForumId(forumId)); } if (forum == null) { forum = StartNewForum(tenant, creatorId, moderatorId, forumSubject, forumDescription, exclusiveOwner); } Discussion discussion = null; var discussionId = this.discussionQueryService.GetDiscussionIdByExclusiveOwner(tenantId, exclusiveOwner); if (discussionId != null) { discussion = this.discussionRepository.Get(tenant, new DiscussionId(discussionId)); } if (discussion == null) { var author = this.collaboratorService.GetAuthorFrom(tenant, authorId); discussion = forum.StartDiscussionFor(this.forumIdentityService, author, discussionSubject, exclusiveOwner); this.discussionRepository.Save(discussion); } if (result != null) { result.SetResultingForumId(forum.ForumId.Id); result.SetResultingDiscussionId(discussion.DiscussionId.Id); } }
public void StartExclusiveForum(string tenantId, string exclusiveOwner, string creatorId, string moderatorId, string subject, string description, IForumCommandResult result = null) { TenantId tenant = new TenantId(tenantId); Forum forum = null; string forumId = this._forumQueryService.GetForumIdByExclusiveOwner(tenantId, exclusiveOwner); if(forumId!=null) { forum = this._forumRepository.Get(tenant, new ForumId(forumId)); } if(forum==null) { forum = StartNewForum(tenant, creatorId, moderatorId, subject, description, exclusiveOwner); } if(result!=null) { result.SetResultingForumId(forum.ForumId.Id); } }
public void StartForum(string tenantId, string creatorId, string moderatorId, string subject, string description, IForumCommandResult result = null) { var forum = StartNewForum(new Tenant(tenantId), creatorId, moderatorId, subject, description, null); if (result != null) { result.SetResultingForumId(forum.ForumId.Id); } }
public void StartExclusiveForum(string tenantId, string exclusiveOwner, string creatorId, string moderatorId, string subject, string description, IForumCommandResult result = null) { var tenant = new Tenant(tenantId); Forum forum = null; var forumId = this.forumQueryService.GetForumIdByExclusiveOwner(tenantId, exclusiveOwner); if (forumId != null) { forum = this.forumRepository.Get(tenant, new ForumId(forumId)); } if (forum == null) { forum = StartNewForum(tenant, creatorId, moderatorId, subject, description, exclusiveOwner); } if (result != null) { result.SetResultingForumId(forum.ForumId.Id); } }