public async Task <Guid> Handle(AdicionarProdutoPedidoCommand request, CancellationToken cancellationToken)
        {
            var pedido = _pedidoRepository.GetEntityById(request.IDPedido);

            if (pedido == null)
            {
                request.AddNotification("AdicionarProdutoPedidoCommand", $"pedido ({request.IDPedido}) não encontrado no banco de dados.");
            }

            var produtoPedido = new ProdutoPedido(request.IDProduto, request.Quantidade);

            produtoPedido.VincularAoPedido(request.IDPedido);

            if (produtoPedido.Invalid || request.Invalid)
            {
                produtoPedido.AddNotifications(request.Notifications);

                await _mediator.Publish(new DomainNotification
                {
                    Erros = request.Notifications
                }, cancellationToken);

                return(await Task.FromResult(Guid.Empty));
            }

            _produtoPedidoRepository.Add(produtoPedido);

            return(await Task.FromResult(produtoPedido.Id));
        }