Example #1
0
        public async Task <PostCommentResponseDto> CreateAndReturnDtoAsync
            (TransferredResponseToResponseDto responseDto, int authorId, IFormFile file)
        {
            string imagePath;

            if (file != null)
            {
                imagePath = await _imageSaver
                            .SaveAndReturnImagePath(file, "ResponseToComment",
                                                    responseDto.ResponseToCommentId);
            }
            var responseToResponse = new ResponseToComment
            {
                Comment = new Models.Comment()
                {
                    Content = responseDto.Content,
                    UserId  = authorId,
                    PostId  = responseDto.PostId,
                    Date    = DateTime.Now
                },
                ResponseToCommentId = responseDto.ResponseToCommentId,
                MainCommentId       = responseDto.MainCommentId
            };

            _unitOfWork.ResponseToCommentRepository
            .Add(responseToResponse);
            _unitOfWork.SaveChanges();
            return(await _repository.ResponseToComment.GetByIdAsync(responseToResponse.Id,
                                                                    PostCommentResponseDto.Selector(authorId)));
        }
Example #2
0
        public async Task <IActionResult> CreateResponseToResponse(
            [FromBody] TransferredResponseToResponseDto responseDto,
            [FromForm] IFormFile file,
            [FromHeader(Name = "userId")] int userId)
        {
            var createdEntry = await _commentResponseService.CreateAndReturnDtoAsync
                                   (responseDto, userId, file);

            return(CreatedAtAction("CreateResponseToResponse", createdEntry));
        }