public ResponseCommand Handle(AnuncioEditarCommand requestCommand)
        {
            // Validar
            requestCommand.Validar();
            if (requestCommand.Erros.Any())
            {
                return(new ResponseCommand(false, "Falha ao editar o anuncio", requestCommand.Erros));
            }

            // Persistir
            Anuncio requestModel = new Anuncio();

            requestModel.PreencherEditar(requestCommand.Id, requestCommand.Marca, requestCommand.Modelo, requestCommand.Versao, requestCommand.Ano, requestCommand.Quilometragem, requestCommand.Observacao);
            _anuncioRepository.Editar(requestModel);

            // Notificar
            return(new ResponseCommand(true, "Anuncio editado com sucesso", requestModel));
        }
        public Anuncio Editar(Anuncio request)
        {
            // Crio o objeto de response
            Anuncio response = new Anuncio();

            // Validação de regras de negócio
            _anuncioValidacao.ValidarEditar(request);
            if (_anuncioValidacao.Erros.Any())
            {
                response.Erros = _anuncioValidacao.Erros;
                return(response);
            }

            // Chama o Repositoy
            _anuncioRepository.Editar(request);

            // Retorna
            return(response);
        }