public async Task <IActionResult> PostRatings(IFormCollection request)
        {
            var id = Convert.ToInt32(request["id"]);

            var numberRate = Convert.ToInt32(request[$"stars-{id}"]);

            var accessToken = await HttpContext.GetTokenAsync(OpenIdConnectParameterNames.AccessToken);

            RatingProductRequest rating = new RatingProductRequest()
            {
                ProductId = id,

                NumberRating = numberRate,
            };

            HttpResponseMessage Res = await RequestServices.PostAsync(APIProductEndPoint.Ratings, accessToken, rating);

            if (Res.IsSuccessStatusCode)
            {
                TempData["RATINGS_SUCESS"] = "RATINGS_SUCESS";

                return(View("Ratings"));
            }
            else
            {
                TempData["ERROR"] = "ERROR";

                return(View("Ratings"));
            }
        }
        // this medthod evaluated for product

        public async Task <bool> ratingProduct(RatingProductRequest request)
        {
            // create new ratings

            Random getrandom = new Random();

            int random = getrandom.Next(1, 999);

            var rating = new RattingProduct()
            {
                Id = random,

                UserId = _repoUser.getUserID(),

                ProductId = request.ProductId,

                NumberRating = request.NumberRating,

                Date = Convert.ToDateTime(DateTime.Now.ToString("dddd, dd MMMM yyyy HH:mm:ss")),
            };

            // add

            _context.RattingProduct.Add(rating);
            // save

            _context.SaveChanges();

            // after save then update ratings for this product

            var product = _context.Products.Where(p => p.Id == request.ProductId).FirstOrDefault();

            product.Rating = avgRatings(request.ProductId);

            _context.SaveChanges();

            return(true);
        }
        public async Task <IActionResult> rattingRequest(RatingProductRequest request)
        {
            var result = await _repo.ratingProduct(request);

            return(Ok(result));
        }