private class ConcluirHandler implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
RequestParamWrapper request = getParametersPF();
String nascimento = request.stringParam("nascimento");
LocalDate date = FormatDateTime.parseToLocalDate(nascimento, bundle.getString("country"));
long _cpf = CPF.parse(request.stringParam("cpf")).getDigito();
long telResidencial = Long.parseLong(request.stringParam("telResidencial"));
long telCelular = Long.parseLong(request.stringParam("telCelular"));
request.set("nascimento", date);
request.set("cpf", _cpf);
request.set("telResidencial", telResidencial);
request.set("telCelular", telCelular);
if (!getTipos().isEmpty()) {
PessoaFisicaModel pessoaFisicaModel = new PessoaFisicaModel();
PessoaFisica pfExistente = pessoaFisicaModel.consultarPorCPF(CPF.valueOf(_cpf));
if (pfExistente != null) {
messagePFExistente();
pessoas.add(pfExistente);
codigos.add(request.stringParam("codigo"));
removeForm();
} else {
PessoaFisica pojoPF = new PessoaFisicaCreate(request).createInstance();
boolean created = new PessoaFisicaModel().criar(pojoPF);
if (created) {
PessoaFisica pf = new PessoaFisicaModel().consultarPorCPF(pojoPF.getCpf());
pessoas.add(pf);
codigos.add(request.stringParam("codigo"));
removeForm();
}
}
}
if (!getTipos().isEmpty()) {
addForm(getTipos().get(getTipos().size() - 1));
}
if (getTipos().isEmpty()) {
RequestParamWrapper req = new RequestParamWrapper();
for (int i = 0; i < pessoas.size(); i++) {
int vooId = voos.get(0).getId();
req.set("voo", vooId);
req.set("codBilhete", codigos.get(i));
req.set("pessoaFisica", pessoas.get(i).getId());
Passagem pojo = new PassagemCreate(req).createInstance();
boolean executed = new PassagemModel().vender(pojo);
if (executed) {
new VooModel().decrementarAssento(vooId);