<?php
use Intervention\Image\ImageManagerStatic as Image;

try {
    $cadastroDao = new \Dao\Cadastro();

    $cadastroDao->nome = filter_input(INPUT_POST, 'nome');
    $cadastroDao->telefone = filter_input(INPUT_POST, 'telefone');
    $cadastroDao->rg = filter_input(INPUT_POST, 'rg');
    $cadastroDao->cpf = filter_input(INPUT_POST, 'cpf');
    $cadastroDao->email = filter_input(INPUT_POST, 'email');
    $cadastroDao->endereco = filter_input(INPUT_POST, 'endereco');
    $cadastroDao->cidade = filter_input(INPUT_POST, 'cidade');
    $cadastroDao->estado = filter_input(INPUT_POST, 'estado');

    $dataNascimento = filter_input(INPUT_POST, 'data_nascimento');

    // Verifica se a data não está vazia e se está no formato esperado
    if (!empty($dataNascimento)) {
        // Converta a data para o formato correto (Y-m-d)
        $dataNascimentoFormatada = date('Y-m-d', strtotime($dataNascimento));

        // Agora você pode usar $dataNascimentoFormatada na sua instrução SQL
        $cadastroDao->data_nascimento = $dataNascimentoFormatada;
    } else {
        // A data é inválida ou vazia, trate conforme necessário (exibir mensagem de erro, por exemplo)
        echo 'Erro: Data de nascimento inválida.';
        exit; // Termina o script se a data de nascimento for inválida
    }

    $cadastroDao->dependentes = (int) filter_input(INPUT_POST, 'quantidade');
    $cadastroDao->data_cadastro = date('Y-m-d H:i:s');

    // Prepared statement para salvar dados
    $stmt = $conecta->prepare("INSERT INTO cadastro (nome, telefone, rg, cpf, email, endereco, cidade, estado, data_nascimento, dependentes, data_cadastro) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
    $stmt->bind_param("sssssssssis",
        $cadastroDao->nome, $cadastroDao->telefone, $cadastroDao->rg, $cadastroDao->cpf,
        $cadastroDao->email, $cadastroDao->endereco, $cadastroDao->cidade, $cadastroDao->estado,
        $cadastroDao->data_nascimento, $cadastroDao->dependentes, $cadastroDao->data_cadastro
    );

    // Executar o statement
    if ($stmt->execute()) {
        \Dao\Funcoes::displayMessage('Confirmação', 'Cadastro realizado com sucesso.', 'cadastro.php');
    } else {
        // Exibir mensagem de erro...
        echo 'Erro ao executar a inserção.';
    }
} catch (\Exception $e) {
    // Exibir detalhes da exceção (mensagem de erro)
    echo 'Erro: ' . $e->getMessage();
}
?>
