public async Task <IActionResult> Classificar([FromBody] UsuarioClassificacaoProduto produto, [FromHeader] string authorization) { produto.Usuario = await _tokenService.ExtractUsuarioToken(authorization); produto.Produto = await _produtoRepository.ObterId(produto.ProdutoClassificacaoId); var media = await _produtoRepository.ClassificacaoRegistrar(produto); return(Ok(await _produtoRepository.MediaProduto(produto.ProdutoClassificacaoId, media))); }
public async Task <int> ClassificacaoRegistrar(UsuarioClassificacaoProduto produtoClassificacao) { _context.UsuarioClassificacaoProduto.Add(produtoClassificacao); _context.SaveChanges(); var context = _context.UsuarioClassificacaoProduto.AsQueryable().Where(x => x.ProdutoClassificacaoId == produtoClassificacao.ProdutoClassificacaoId); var quantidade = await context.CountAsync(); var classificacoes = await context.SumAsync(x => x.Classificacao); return(Convert.ToInt32(classificacoes / quantidade)); }