Exemplo n.º 1
0
        public async Task <IActionResult> EditPartial(int id)
        {
            var record = await DbContext.Messages.FirstOrDefaultAsync(m => m.Id == id);

            if (record is null)
            {
                throw new HttpNotFoundError();
            }

            var viewModel = new ViewModels.Messages.EditMessageForm {
                Id        = id.ToString(),
                Body      = record.OriginalBody,
                ElementId = $"edit-message-{id}"
            };

            return(await ForumViewResult.ViewResult(this, "_MessageForm", viewModel));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Edit(int id)
        {
            ViewData["Smileys"] = await SmileyRepository.GetSelectorList();

            var record = await DbContext.Messages.FirstOrDefaultAsync(m => m.Id == id);

            if (record is null)
            {
                throw new HttpNotFoundError();
            }

            var viewModel = new ViewModels.Messages.EditMessageForm {
                Id        = id.ToString(),
                Body      = record.OriginalBody,
                ElementId = $"edit-message-{id}"
            };

            return(await ForumViewResult.ViewResult(this, viewModel));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Edit(ControllerModels.Messages.EditInput input)
        {
            var message = await DbContext.Messages.FirstOrDefaultAsync(m => m.Id == input.Id);

            if (message is null || message.Deleted)
            {
                throw new HttpNotFoundError();
            }

            if (message.PostedById != UserContext.ApplicationUser.Id && !UserContext.IsAdmin)
            {
                throw new HttpForbiddenError();
            }

            if (ModelState.IsValid)
            {
                var result = await MessageRepository.EditMessage(input);

                ModelState.AddModelErrors(result.Errors);

                if (ModelState.IsValid)
                {
                    await ForumHub.Clients.All.SendAsync("updated-message", new HubModels.Message {
                        TopicId   = result.TopicId,
                        MessageId = result.MessageId
                    });

                    var redirectPath = Url.DisplayMessage(result.TopicId, result.MessageId);
                    return(Redirect(redirectPath));
                }
            }

            var viewModel = new ViewModels.Messages.EditMessageForm {
                Id        = input.Id.ToString(),
                Body      = input.Body,
                ElementId = $"edit-message-{input.Id}"
            };

            return(await ForumViewResult.ViewResult(this, viewModel));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> Edit(int id)
        {
            var message = await DbContext.Messages.FirstOrDefaultAsync(m => m.Id == id);

            if (message is null || message.Deleted)
            {
                throw new HttpNotFoundError();
            }

            if (message.PostedById != UserContext.ApplicationUser.Id && !UserContext.IsAdmin)
            {
                throw new HttpForbiddenError();
            }

            var viewModel = new ViewModels.Messages.EditMessageForm {
                Id        = id.ToString(),
                Body      = message.OriginalBody,
                ElementId = $"edit-message-{id}"
            };

            return(View(viewModel));
        }
Exemplo n.º 5
0
        public async Task <IActionResult> Edit(int id)
        {
            ViewData["Smileys"] = await SmileyRepository.GetSelectorList();

            var message = await DbContext.Messages.FirstOrDefaultAsync(m => m.Id == id);

            if (message is null || message.Deleted)
            {
                throw new HttpNotFoundError();
            }

            if (message.PostedById != UserContext.ApplicationUser.Id && !UserContext.IsAdmin)
            {
                throw new HttpForbiddenError();
            }

            var viewModel = new ViewModels.Messages.EditMessageForm {
                Id        = id.ToString(),
                Body      = message.OriginalBody,
                ElementId = $"edit-message-{id}"
            };

            return(await ForumViewResult.ViewResult(this, viewModel));
        }