public async Task <IActionResult> ProductLikeAsync([FromBody] ProductLikeDto productLikeDto)
        {
            //verifying if product and user exists on database
            var existingProduct = await _unitOfWork.Products.GetAsync(productLikeDto.ProductId);

            if (existingProduct == null)
            {
                return(NotFound($"Product with Id: {productLikeDto.ProductId} not found."));
            }
            var user = await _unitOfWork.Users.GetAsync(productLikeDto.UserId);

            if (user == null)
            {
                return(NotFound($"User with Id: {productLikeDto.UserId} not found."));
            }
            //mapping productLikeDto to ProductLike
            var productLike = _mapper.Map <ProductLike>(productLikeDto);

            productLike.Product         = existingProduct;
            productLike.User            = user;
            productLike.CreatedDateTime = DateTime.Now;
            //Adding product like
            _unitOfWork.ProductLikes.Add(productLike);
            await _unitOfWork.Complete();

            return(Ok());
        }
        public async Task <ProductLikeDto> AddAsync(ProductLikeDto productLikeDto)
        {
            var productLike = _mapper.Map <ProductLikeDto, ProductLike>(productLikeDto);

            var result = await _AddAsync(productLike);

            var response = _mapper.Map <ProductLike, ProductLikeDto>(result);

            return(response);
        }