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); }
public async Task <IActionResult> Create(RatingRes ratingRes) { var result = await _ratingRepository.Create(ratingRes); return(Created(Endpoints.Rate, result)); }