package gcom.cadastro.atualizacaocadastral.validador;
import gcom.cadastro.atualizacaocadastral.command.AtualizacaoCadastralImovel;
import gcom.cadastro.endereco.Logradouro;
import gcom.cadastro.imovel.IRepositorioImovel;
import java.util.Map;
public class ValidadorLogradouroCommand extends ValidadorCommand {
private IRepositorioImovel repositorioImovel;
public ValidadorLogradouroCommand(
AtualizacaoCadastralImovel cadastroImovel,
Map<String, String> linha,
IRepositorioImovel repositorioImovel) {
super(cadastroImovel, linha);
this.repositorioImovel = repositorioImovel;
}
@Override
public void execute() throws Exception {
String codigoLogradouro = linha.get("codigoLogradouro");
if (campoNumericoInvalido(codigoLogradouro)) {
cadastroImovel.addMensagemErro("C�digo do logradouro � inv�lido");
}
Logradouro logradouro = repositorioImovel.pesquisarLogradouro(Integer.valueOf(codigoLogradouro));
if (logradouro == null) {
cadastroImovel.addMensagemErro("Logradouro inexistente");
}
Integer idLogradouro = repositorioImovel.pesquisarLogradouroImovelAtualizacaoCadastral(
Integer.parseInt(linha.get("matricula")));
if (idLogradouro != null && !idLogradouro.equals(Integer.valueOf(codigoLogradouro))) {
cadastroImovel.addMensagemErro("C�digo do logradouro n�o pode ser alterado");
}
}
}