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);
            }
        }