public async Task <ActionResult> DislikePost(int postId, [FromBody] DisLikeRequestDto dislikeRequest) { try { dislikeRequest.PostId = postId.ToString(); var response = await _likeService.DisLikePost(dislikeRequest); return(Ok(response)); } catch (AppException ex) { return(BadRequest(new ErrorResponse(ex.Message, ApiReponseStatusCodes.BadRequest))); } }
public async Task <ApiResponse <LikeResponseDto> > DisLikePost(DisLikeRequestDto disLikeRequest) { ApiResponse <LikeResponseDto> result = new ApiResponse <LikeResponseDto>(); var resultMessage = ""; // To Dislike a PostId previously liked, the Like record saved to Db is // Deleted from Db try { Likes like = await GetLikeToDisLike(disLikeRequest.PostId, disLikeRequest.ClientReferenceId, disLikeRequest.RequestUsername); if (like == null) { resultMessage = "Could not fetch Like to Dislike"; _logger.LogInformation(resultMessage); throw new AppException(resultMessage); } _likeRepository.Remove(like); await _unitOfWork.CompleteAsync(); resultMessage = $"Successfully dislike PostId: {disLikeRequest.PostId}"; result.Message = resultMessage; result.Status = Helpers.ApiReponseStatusCodes.Success; result.Data = null; return(result); } catch (Exception ex) { _logger.Log(LogLevel.Error, ex.StackTrace); _logger.Log(LogLevel.Error, ex.Message); throw new AppException(ex.Message); } }