public async Task <bool> Create(RatingRes ratingRes)
        {
            var rate = _mapper.Map <Rating>(ratingRes);

            var userId = _IhttpContextAccessor.HttpContext.User.FindFirstValue("sub");

            rate.UserId = userId;

            await _context.AddAsync(rate);

            await _context.SaveChangesAsync();

            var product = await _context.Products.FindAsync(ratingRes.ProductId);

            var rates = await Task.FromResult((int)_context.Ratings
                                              .Where(rate => rate.ProductId.Equals(ratingRes.ProductId))
                                              .Select(rate => rate.Value)
                                              .Average());

            product.Rated = rates;
            await _context.SaveChangesAsync();

            return(true);
        }
Beispiel #2
0
        public async Task <IActionResult> Create(RatingRes ratingRes)
        {
            var result = await _ratingRepository.Create(ratingRes);

            return(Created(Endpoints.Rate, result));
        }