public async Task <ActionResult> AddToFavorite(int productId)
        {
            var user = await _userRepo.GetUserByUserClaims(HttpContext.User);

            if (user == null)
            {
                return(Unauthorized("User is Unauthorized"));
            }

            var product = await _productRepo.GetById(productId);

            if (product == null)
            {
                return(BadRequest("Bad Product Id"));
            }
            var favoriteProduct = await _favoriteRepo.Get(user.Id, productId);

            if (favoriteProduct != null)
            {
                return(BadRequest("Already In Favorites"));
            }
            var newFavoriteProduct = new FavoriteProduct
            {
                UserId    = user.Id,
                ProductId = productId
            };
            var result = await _favoriteRepo.Add(newFavoriteProduct);

            if (result)
            {
                return(Ok("Add To Favorite Succeeded"));
            }
            throw new Exception("Error happen when adding From Favorite");
        }