public async Task <ValidationResult> Handle(PedidoAtualizarCommand comando, CancellationToken cancelar) { if (comando.EhValido()) { Pedido pedido = new Pedido(comando.Id, comando.Criado, comando.Descricao, comando.Status); if (comando.Itens?.Count > 0) { foreach (PedidoItemDto item in comando.Itens) { pedido.AdicionarItem(new PedidoItem(item.Id, item.Descricao, item.Quantidade, item.ValorUnitario, pedido.Id)); } } _pedidoRepository.Atualizar(pedido); if (!await _unitOfWork.SalvarAsync()) { comando.Validacao.Errors.Add(new ValidationFailure("Salvar", "Erro ao tentar salvar operação")); } } return(comando.Validacao); }
public async Task <ValidationResult> Atualizar(Guid id, [FromBody] PedidoAtualizarCommand pedidoAtualizarCommand) { pedidoAtualizarCommand.SetId(id); return(await _mediator.Send(pedidoAtualizarCommand)); }