Esempio n. 1
0
        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));
 }