public function execute()
 {
     try {
         if (request::getInstance()->isMethod('POST')) {
             $idUsuario = request::getInstance()->getPost(usuarioTableClass::getNameField(usuarioTableClass::ID, true));
             $nombre = request::getInstance()->getPost(datosUsuarioTableClass::getNameField(datosUsuarioTableClass::NOMBRE, true));
             $apellidos = request::getInstance()->getPost(datosUsuarioTableClass::getNameField(datosUsuarioTableClass::APELLIDOS, true));
             $cedula = request::getInstance()->getPost(datosUsuarioTableClass::getNameField(datosUsuarioTableClass::CEDULA, true));
             $direccion = request::getInstance()->getPost(datosUsuarioTableClass::getNameField(datosUsuarioTableClass::DIRECCION, true));
             $idCiudad = request::getInstance()->getPost(datosUsuarioTableClass::getNameField(datosUsuarioTableClass::CIUDAD_ID, true));
             $telefono = request::getInstance()->getPost(datosUsuarioTableClass::getNameField(datosUsuarioTableClass::TELEFONO, true));
             $correo = request::getInstance()->getPost(datosUsuarioTableClass::getNameField(datosUsuarioTableClass::CORREO, true));
             $credencialDefault = '4';
             $data = array(datosUsuarioTableClass::USUARIO_ID => $idUsuario, datosUsuarioTableClass::NOMBRE => $nombre, datosUsuarioTableClass::APELLIDOS => $apellidos, datosUsuarioTableClass::CEDULA => $cedula, datosUsuarioTableClass::DIRECCION => $direccion, datosUsuarioTableClass::CIUDAD_ID => $idCiudad, datosUsuarioTableClass::TELEFONO => $telefono, datosUsuarioTableClass::CORREO => $correo);
             usuarioTableClass::validatCreate($nombre, $apellidos, $cedula, $direccion, $telefono);
             datosUsuarioTableClass::insert($data);
             $data2 = array(usuarioCredencialBaseTableClass::USUARIO_ID => $idUsuario, usuarioCredencialTableClass::CREDENCIAL_ID => $credencialDefault);
             usuarioCredencialTableClass::insert($data2);
         }
         routing::getInstance()->redirect('dataUser', 'index');
     } catch (PDOException $exc) {
         echo $exc->getMessage();
         echo '<br>';
         echo '<pre>';
         print_r($exc->getTrace());
         echo '</pre>';
     }
 }
 public function execute()
 {
     try {
         if (request::getInstance()->isMethod('POST')) {
             // usuario
             $usuario = request::getInstance()->getPost(usuarioTableClass::getNameField(usuarioTableClass::USER, true));
             $password = request::getInstance()->getPost(usuarioTableClass::getNameField(usuarioTableClass::PASSWORD, true));
             $repetirPassword = request::getInstance()->getPost(usuarioTableClass::getNameField(usuarioTableClass::SECOND_PASSWORD, true));
             $pregunta = request::getInstance()->getPost(usuarioTableClass::getNameField(usuarioTableClass::RESTAURAR_ID, true));
             $respuesta = request::getInstance()->getPost(usuarioTableClass::getNameField(usuarioTableClass::RESPUESTA_SECRETA, true));
             $nombreUsuario = usuarioTableClass::USER;
             //datos del usuario
             $nombre = request::getInstance()->getPost(datosUsuarioTableClass::getNameField(datosUsuarioTableClass::NOMBRE, true));
             $apellidos = request::getInstance()->getPost(datosUsuarioTableClass::getNameField(datosUsuarioTableClass::APELLIDOS, true));
             $tipoDocumento = request::getInstance()->getPost(datosUsuarioTableClass::getNameField(datosUsuarioTableClass::TIPO_DOC, true));
             $numeroDocumento = request::getInstance()->getPost(datosUsuarioTableClass::getNameField(datosUsuarioTableClass::NUMERO_DOCUMENTO, true));
             $direccion = request::getInstance()->getPost(datosUsuarioTableClass::getNameField(datosUsuarioTableClass::DIRECCION, true));
             $idCiudad = request::getInstance()->getPost(datosUsuarioTableClass::getNameField(datosUsuarioTableClass::CIUDAD_ID, true));
             $telefono = request::getInstance()->getPost(datosUsuarioTableClass::getNameField(datosUsuarioTableClass::TELEFONO, true));
             $correo = request::getInstance()->getPost(datosUsuarioTableClass::getNameField(datosUsuarioTableClass::CORREO, true));
             $credencialDefault = usuarioCredencialTableClass::CREDENCIAL_DEFAULT;
             usuarioTableClass::validatCreate($usuario, $password, $respuesta, $repetirPassword);
             //Insertar la informacion del usuario
             $data = array(usuarioTableClass::USER => $usuario, usuarioTableClass::PASSWORD => md5($password), usuarioTableClass::RESTAURAR_ID => $pregunta, usuarioTableClass::RESPUESTA_SECRETA => $respuesta);
             usuarioTableClass::insert($data);
             //obtener el ultimo registro que ha sido insertado
             $fields = array(usuarioTableClass::ID, usuarioTableClass::USER);
             $orderBy = array(usuarioTableClass::ID);
             $objUsuario = usuarioTableClass::getAll($fields, true, $orderBy, 'DESC', 1);
             $idUsuario = $objUsuario[0]->id;
             //                insertar datos usuarior
             $dataUsuario = array(datosUsuarioTableClass::USUARIO_ID => $idUsuario, datosUsuarioTableClass::NOMBRE => $nombre, datosUsuarioTableClass::APELLIDOS => $apellidos, datosUsuarioTableClass::TIPO_DOC => $tipoDocumento, datosUsuarioTableClass::NUMERO_DOCUMENTO => $numeroDocumento, datosUsuarioTableClass::DIRECCION => $direccion, datosUsuarioTableClass::CIUDAD_ID => $idCiudad, datosUsuarioTableClass::TELEFONO => $telefono, datosUsuarioTableClass::CORREO => $correo);
             datosUsuarioTableClass::insert($dataUsuario);
             //asignacion del rol default (invitado)
             $dataUsuarioCredencial = array(usuarioCredencialBaseTableClass::USUARIO_ID => $idUsuario, usuarioCredencialTableClass::CREDENCIAL_ID => $credencialDefault);
             usuarioCredencialTableClass::insert($dataUsuarioCredencial);
             session::getInstance()->setSuccess(i18n::__('succesCreate', null, 'user'));
             log::register(i18n::__('create'), usuarioTableClass::getNameTable());
             routing::getInstance()->redirect('usuario', 'indexUsuario');
         } else {
             session::getInstance()->setError(i18n::__('errorCreate', null, 'user'));
             routing::getInstance()->redirect('usuario', 'indexUsuario');
         }
     } catch (PDOException $exc) {
         session::getInstance()->setFlash('exc', $exc);
         routing::getInstance()->forward('shfSecurity', 'exception');
     }
 }