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)); }
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)); }
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)); }
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)); }
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)); }