public async Task <IActionResult> EditarVeiculoAsync([FromRoute] Guid id, [FromBody] EditarVeiculoCommand command)
        {
            command.Id = id;
            var result = await _commandAtualizar.Handle(command).ConfigureAwait(true) as CommandResult;

            if (result.Success)
            {
                return(Ok());
            }
            else
            {
                return(UnprocessableEntity(result.Messages));
            }
        }
        public async ValueTask <ICommandResult> Handle(EditarVeiculoCommand command)
        {
            if (!command.Validate())
            {
                AddNotifications(command);
                return(new CommandResult(false, base.Notifications));
            }

            var resultMarca = await AlterarMarca(command.Modelo.Marca).ConfigureAwait(true);

            var resultModelo = await AlterarModelo(command.Modelo).ConfigureAwait(true);

            if (resultMarca && resultModelo)
            {
                var entity = new Veiculos(command.Placa, command.Ano, command.ValorHora, command.Combustivel, command.LimitePortaMalas, command.Categoria, command.Modelo.Id);
                await _veiculoRepository.Update(entity);

                var result = await _veiculoRepository.SaveChanges().ConfigureAwait(true);

                return(new CommandResult(true));
            }
            return(new CommandResult(false, "Houve um erro ao atualizar os registros."));
        }
 public async Task <string> Put([FromBody] EditarVeiculoCommand command)
 {
     return(await _mediator.Send(command));
 }
 public Task <string> Handle(EditarVeiculoCommand request, CancellationToken cancellationToken)
 {
     return(Task.FromResult(_repository.EditarVeiculo(request.chassi, request.Cor)));
 }