public async Task <IActionResult> Create(PostAnonymousCreateViewModel viewModel) { if (ModelState.IsValid) { var thread = await _threadService.GetAsync(viewModel.ThreadId); if (!thread.IsClosed) { var postDto = _mapper.Map <PostDto>(viewModel); postDto.UserIpAddress = UserIpAddress.ToString(); postDto.UserAgent = UserAgent; var postId = await _postService.CreateAsync(viewModel.Attachments, postDto); return (Redirect(Url.Action("Details", "Threads", new { categoryAlias = viewModel.CategoryAlias, threadId = viewModel.ThreadId }) + "#" + postId)); } else { throw new HttpResponseException(HttpStatusCode.Forbidden, $"Thread {thread.Id} is closed."); } } else { ViewBag.ErrorMessage = ModelState.ModelErrorsToString(); return(View(viewModel)); } }
public async Task <IActionResult> Create(string categoryAlias, TPrimaryKey threadId) { var category = await _categoryService.GetAsync(categoryAlias); var thread = await _threadService.GetAsync(threadId); var postAnonymousCreateViewModel = new PostAnonymousCreateViewModel { CategoryAlias = category.Alias, ThreadId = thread.Id, }; return(View(postAnonymousCreateViewModel)); }