public async Task <IActionResult> AdicionarItem(Guid id, int quantidade) { var produto = await _produtoAppService.ObterPorId(id); if (produto == null) { return(BadRequest()); } if (produto.QuantidadeEstoque < quantidade) { TempData["Erro"] = "Produto com estoque insuficiente"; return(RedirectToAction("ProdutoDetalhe", "Vitrine", new { id })); } var command = new AdicionarItemPedidoCommand(ClientId, produto.Id, produto.Nome, quantidade, produto.Valor); await _mediatorHandler.Enviarcommando(command); if (OperacaoValida()) { return(RedirectToAction("Index")); } TempData["Erros"] = ObterMensagemErro(); return(RedirectToAction("ProdutoDetalhe", "Vitrine", new { id })); }