示例#1
0
        private async Task UpdateTopic()
        {
            var editedTopic = new Models.ForumTopic
            {
                Title              = _forumTopic.Title,
                TopicText          = _forumTopic.TopicText,
                UserId             = _forumTopic.UserId,
                PostedDate         = _forumTopic.PostedDate,
                ForumCategoryId    = _forumTopic.ForumCategoryId,
                Flags              = _forumTopic.Flags,
                IsModeratorChanged = _forumTopic.IsModeratorChanged,
                IsDeleted          = _forumTopic.IsDeleted,
                IsApproved         = _forumTopic.IsApproved,
                EditedBy           = CurrentUserId,
                EditedDate         = DateTime.Now.ToUniversalTime(),
                ForumTopicId       = _forumTopic.ForumTopicId
            };
            var updated = await manageForumTopics.UpdateTopicAsync(editedTopic);

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

                OnTopicUpdated?.Invoke();
            }
        }
示例#2
0
        private async Task AddNewTopic()
        {
            var newTopic = new Models.ForumTopic
            {
                Title              = _forumTopic.Title,
                ForumTopicUrl      = _forumTopic.ForumTopicUrl,
                TopicText          = _forumTopic.TopicText,
                UserId             = CurrentUserId,
                PostedDate         = DateTime.Now.ToUniversalTime(),
                ForumCategoryId    = ForumCatId,
                Flags              = 0,
                IsModeratorChanged = false,
                IsDeleted          = false,
                IsApproved         = true,
                //UserIP = httpContext.HttpContext.Connection.RemoteIpAddress.ToString() // Was failing on server - fine locally
            };
            var postedId = await manageForumTopics.PostNewTopicAsync(newTopic);

            if (postedId != 0)
            {
                var newTopicSubscription = new TopicSubscription {
                    ForumTopicId = postedId, Id = CurrentUserId
                };
                var subscriptionAdded = await manageTopicSubscriptions.AddSubscriptionToTopicAsync(newTopicSubscription);
            }
        }
示例#3
0
        protected override void OnInitialized()
        {
            if (ForumTopicToEdit != null)
            {
                _forumTopic = ForumTopicToEdit;
            }

            _editContext = new EditContext(_forumTopic);
        }
示例#4
0
        protected override async Task OnInitializedAsync()
        {
            _topic = await manageTopics.GetForumTopicAsync(topicId);

            head.Title = "Forum Topic | Administration";
            await LoadPostsAsync();

            blazorModal.OnConfirmDeleteForumTopic    += DeleteTopicConfirmedAsync;
            blazorModal.OnConfirmDeleteForumPostItem += DeletePostConfirmedAsync;
        }
示例#5
0
        private async Task LoadTopicAsync()
        {
            _topic = await manageForumTopics.GetForumTopicAsync(id);

            if (_topic == null || _topic.IsApproved != true || _topic.IsDeleted == true)
            {
                navManager.NavigateTo("/");
            }

            var user = await userManager.FindByIdAsync(_topic.UserId);

            _topic.UserName = user.UserName;
        }
示例#6
0
 protected override async Task OnInitializedAsync()
 {
     _topic = await manageTopics.GetForumTopicAsync(topicId);
 }