public async Task <ActionResult <CommentResponse> > PostCommentResponse(CommentResponseViewModel vm) { CommentResponse response = new CommentResponse(); var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value; var user = _context.Users.Find(userId); response.User = user; response.Comment = _context.Comments.Find(vm.CommentId); response.ResponseDateTime = DateTime.Now; response.Content = vm.Content; _context.CommentResponses.Add(response); await _context.SaveChangesAsync(); return(CreatedAtAction("GetCommentResponse", new { id = response.Id }, response)); }
public async Task <ActionResult> Create(Comment comment) { try { var user = await GetCurrentUserAsync(); var commentInstance = new Comment() { ApplicationUserId = user.Id, PostId = comment.PostId, Timestamp = DateTime.Now, Text = comment.Text }; _context.Comment.Add(commentInstance); await _context.SaveChangesAsync(); var post = await _context.Post .FirstOrDefaultAsync(p => p.Id == comment.PostId); var workspace = await _context.Workspace .FirstOrDefaultAsync(w => w.Id == post.WorkspaceId); var commentResponse = new CommentResponseViewModel() { Id = commentInstance.Id, Text = commentInstance.Text, PostId = commentInstance.PostId, Timestamp = commentInstance.Timestamp, FirstName = user.FirstName, LastName = user.LastName, Color1 = workspace.Color1, Color2 = workspace.Color2, Color3 = workspace.Color3 }; return(Ok(commentResponse)); } catch { return(View()); } }