Пример #1
0
        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));
        }
Пример #2
0
        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());
            }
        }