public async Task <bool> Handle(FinalizarPedidoCommand message, CancellationToken cancellationToken) { var pedido = await _pedidoRepository.ObterPorId(message.PedidoId); if (pedido == null) { await _mediatorHandler.PublicarNotificacao(new DomainNotification("pedido", "Pedido não encontrado")); } pedido.FinalizarPedido(); pedido.AdicionarEvento(new PedidoFinalizadoEvent(message.PedidoId)); return(await _pedidoRepository.UnitOfWork.Commit()); }
public async Task <bool> Handle(FinalizarPedidoCommand message, CancellationToken cancellationToken) { var pedido = await _IPedidoRepository.ObterPorId(message.PedidoId); if (pedido == null) { await _IMediateHandler.PublicarNotificacao(new DomainNotification("pedido", "Pedido não encontrado!")); return(false); } pedido.FinalizarPedido(); // aqui eu poderia também gerar nota fiscal pedido.AdicionarEvento(new PedidoFinalizadoEvent(message.PedidoId)); // eu nã precisaria chamar o atualizar pedido pois ao alterar o status de pagamento dele e rodando o commit o proprio EF atualizaria minha entidade _IPedidoRepository.Atualizar(pedido); return(await _IPedidoRepository.IUnitOfWork.Commit()); }