Exemplo n.º 1
0
        public async Task <ServiceResult <ComplaintDto> > CreateComplaintAsync(ComplaintAddRequest request, int userId)
        {
            if (!await _unitOfWork.PostRepository.IsExistById(request.PostId))
            {
                return(ServiceResult <ComplaintDto> .Fail(EOperationResult.EntityNotFound, "Post with this Id doesn't exist"));
            }

            var complaint =
                await _unitOfWork.ComplaintRepository.GetSingleAsync(c => c.PostId == request.PostId && c.UserId == userId);

            if (complaint == null)
            {
                complaint = new Complaint()
                {
                    UserId = userId,
                    PostId = request.PostId
                };
                _unitOfWork.ComplaintRepository.Add(complaint);
                await _unitOfWork.CommitAsync();
            }

            return(ServiceResult <ComplaintDto> .Ok(_mapper.Map <Complaint, ComplaintDto>(complaint)));
        }
Exemplo n.º 2
0
 public async Task <ActionResult <ComplaintDto> > AddComplaintAsync(ComplaintAddRequest request)
 => _viewMapper.ServiceResultToContentResult(
     await _complaintService.CreateComplaintAsync(request, UserId));