Beispiel #1
0
        private async Task CreatePost()
        {
            var newPost = new Models.ForumPost()
            {
                PostText           = _forumPost.PostText,
                UserId             = CurrentUserId,
                PostedDate         = DateTime.Now.ToUniversalTime(),
                ForumTopicId       = TopicId,
                Flags              = 0,
                IsModeratorChanged = false,
                IsDeleted          = false,
                IsApproved         = true,
                //UserIP = httpContext.HttpContext.Connection.RemoteIpAddress.ToString() // Issues with this failing on server
            };

            var posted = await manageForumPosts.AddNewPostAsync(newPost);

            var posted2 = await manageForumTopics.UpdateTopicFlagsAsync(TopicId);

            if (posted && posted2)
            {
                await new Domain.Helpers.Forum.AddPostHelpers(manageTopicSubscriptions, manageForumTopics, httpContextAccessor, userManager, emailSender)
                .AddSubscriptionAndSendEmailToSubscribers(TopicId, CurrentUserId, TopicSlug);

                OnPostAdded?.Invoke();
            }
        }
Beispiel #2
0
        private async Task UpdatePost()
        {
            var editedPost = new Models.ForumPost
            {
                ForumPostId        = _forumPost.ForumPostId,
                PostText           = _forumPost.PostText,
                UserId             = _forumPost.UserId,
                PostedDate         = _forumPost.PostedDate,
                ForumTopicId       = _forumPost.ForumTopicId,
                Flags              = _forumPost.Flags,
                IsModeratorChanged = _forumPost.IsModeratorChanged,
                IsDeleted          = _forumPost.IsDeleted,
                IsApproved         = _forumPost.IsApproved,
                EditedBy           = CurrentUserId,
                EditedDate         = DateTime.Now.ToUniversalTime(),
                UserIP             = _forumPost.UserIP
            };

            var updated = await manageForumPosts.UpdatePostAsync(editedPost);

            if (updated)
            {
                await jsRuntime.InvokeVoidAsync("methods.removeTargetedEditor", "PostText-" + _forumPost.ForumPostId);

                OnPostUpdated?.Invoke();
            }
        }
Beispiel #3
0
        protected override void OnInitialized()
        {
            if (PostToEdit != null)
            {
                _forumPost = PostToEdit;
            }

            _editContext = new EditContext(_forumPost);
        }
Beispiel #4
0
 protected override async Task OnInitializedAsync()
 {
     _forumPost = await managePosts.GetForumPostAsync(postId);
 }