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(ClienteId, produto.Id, produto.Nome, quantidade, produto.Valor); await _IMediateHandler.EnviarComando(command); if (OperacaoValida()) { return(RedirectToAction("Index")); } // Esta sendo usado o TempData porque estou usando o redirectToAction toda ves que uso esse redirection eu perco o //estado do meu request anterior,então eu preciso persistir minha msg de erro no meu temp data TempData["Erro"] = "Produto Indisponível"; // Esse redirect é um novo request return(RedirectToAction("ProdutoDetalhe", "Vitrine", new { id })); }
public async Task Handle(PedidoEstoqueRejeitadoEvent message, CancellationToken cancellationToken) { await _mediatorHandler.EnviarComando(new CancelarProcessamentoPedidoCommand(message.PedidoId, message.ClienteId)); }