Beispiel #1
0
        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 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);
            }
        }
Beispiel #5
0
        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);
            }
        }
Beispiel #6
0
        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);
            }
        }