public function execute()
 {
     try {
         if (request::getInstance()->isMethod('POST')) {
             $nombre_completo = request::getInstance()->getPost(clienteTableClass::getNameField(clienteTableClass::NOMBRE, true));
             $telefono = request::getInstance()->getPost(clienteTableClass::getNameField(clienteTableClass::TEL, true));
             $tipo_documento_id = request::getInstance()->getPost(clienteTableClass::getNameField(clienteTableClass::TIPO_DOC, true));
             $direccion = request::getInstance()->getPost(clienteTableClass::getNameField(clienteTableClass::DIRECCION, true));
             $ciudad = request::getInstance()->getPost(clienteTableClass::getNameField(clienteTableClass::CIUDAD, true));
             //    $id=  request::getInstance()->getPost(empleadoTableClass::getNameField(empleadoTableClass::ID,true));
             $numero_documento = request::getInstance()->getPost(clienteTableClass::getNameField(clienteTableClass::NUMERO_DOC, true));
             clienteTableClass::validateCreate($nombre_completo, $direccion, $telefono, $numero_documento);
             $data = array(clienteTableClass::NUMERO_DOC => $numero_documento, clienteTableClass::TIPO_DOC => $tipo_documento_id, clienteTableClass::NOMBRE => $nombre_completo, clienteTableClass::TEL => $telefono, clienteTableClass::DIRECCION => $direccion, clienteTableClass::CIUDAD => $ciudad);
             clienteTableClass::insert($data);
             log::register(i18n::__('create'), clienteTableClass::getNameTable());
             routing::getInstance()->redirect('personal', 'indexCliente');
         }
     } catch (PDOException $exc) {
         session::getInstance()->setFlash('exc', $exc);
         routing::getInstance()->forward('shfSecurity', 'exception');
     }
 }
 public static function insert($usuario, $password, $tipo_documento, $identificacion, $nombre, $apellido, $celular, $telefono, $correo, $direccion, $fecha_nacimiento, $localidad)
 {
     $flag = false;
     if (self::notBlank($usuario) === true) {
         $flag = true;
         session::getInstance()->setFlash('inputUsuario', true);
         session::getInstance()->setError('El nombre de usuario es requerido', 'inputUsuario');
     } else {
         if (is_numeric($usuario) === true) {
             $flag = true;
             session::getInstance()->setFlash('inputUsuario', true);
             session::getInstance()->setError('El usuario no puede ser númerico', 'inputUsuario');
         } else {
             if (strlen($usuario) > \usuarioTableClass::USER_LENGTH) {
                 $flag = true;
                 session::getInstance()->setFlash('inputUsuario', true);
                 session::getInstance()->setError('El usuario digitado es mayor en cantidad de caracteres a lo permitido', 'inputUser');
             } else {
                 if (self::isUnique(\usuarioTableClass::ID, true, array(\usuarioTableClass::USER => $usuario), \usuarioTableClass::getNameTable()) === true) {
                     $flag = true;
                     session::getInstance()->setFlash('inputUsuario', true);
                     session::getInstance()->setError('El usuario digitado ya existe', 'inputUser');
                 }
             }
         }
     }
     //      ___________________________________clave____________________
     if (self::notBlank($password) === true) {
         $flag = true;
         session::getInstance()->setFlash('inputPassword', true);
         session::getInstance()->setError('El campo es obligatorio', 'inputPassword');
     }
     if (self::notBlank($tipo_documento) === true) {
         session::getInstance()->setFlash('inputTipo_documento', true);
         session::getInstance()->setError('El campo tipo de documento es obligatorio', 'inputTipo_documento');
     }
     //        ______________________________identificacion____________
     if (self::notBlank($identificacion) === true) {
         $flag = true;
         session::getInstance()->setFlash('inputIdentificacion', true);
         session::getInstance()->setError('El campo identificacion  es obligatorio', 'inputIdentificacion');
     } elseif (self::isUnique(\clienteTableClass::ID, true, array(\clienteTableClass::IDENTIFICACION => $cliente), \clienteTableClass::getNameTable()) === true) {
         session::getInstance()->setFlash('inputIdentificacion', true);
         session::getInstance()->setError('El numero identificacion  ya existe en la base de datos', 'inputIdentificacion');
         $flag = true;
     }
     //        ________________________________________nombre______________________
     if (self::notBlank($nombre) === true) {
         $flag = true;
         session::getInstance()->setFlash('inputNombre', true);
         session::getInstance()->setError('El nombre de cliente es requerido', 'inputNombre');
     } else {
         if (is_numeric(request::getInstance()->getPost('inputNombre'))) {
             $flag = true;
             session::getInstance()->setFlash('inputNombre', true);
             session::getInstance()->setError('El nombre del cliente no puede ser númerico', 'inputNombre');
         } elseif (strlen($cliente) > \clienteTableClass::NOMBRE_LENGTH) {
             session::getInstance()->setFlash('inputNombre', true);
             session::getInstance()->setError('El nombre del cliente no debe de ser suprior a ' . \clienteTableClass::NOMBRE_LENGTH . ' caracteres', 'inputNombre');
         }
     }
     //        _____________________________________apellido____________________
     if (self::notBlank($apellido) === true) {
         $flag = true;
         session::getInstance()->setFlash('inputApellido', true);
         session::getInstance()->setError('El apellido de cliente es requerido', 'inputApellido');
     } else {
         if (is_numeric(request::getInstance()->getPost('inputApellido'))) {
             $flag = true;
             session::getInstance()->setFlash('inputApellido', true);
             session::getInstance()->setError('El apellido del cliente no puede ser númerico', 'inputApellido');
         } else {
             if (strlen(request::getInstance()->getPost('inputApellido')) > \clienteTableClass::APELLIDO_LENGTH) {
                 $flag = true;
                 session::getInstance()->setFlash('inputApellido', true);
                 session::getInstance()->setError('El cliente digitado es mayor en cantidad de caracteres a lo permitido', 'inputApellido');
             } elseif (strlen($cliente) > \clienteTableClass::APELLIDO_LENGTH) {
                 session::getInstance()->setFlash('inputApellido', true);
                 session::getInstance()->setError('El apellido del cliente no debe de ser suprior a ' . \clienteTableClass::APELLIDO_LENGTH . ' caracteres', 'inputApellido');
             }
         }
     }
     //      ___________________________________movil_____________________
     if (self::notBlank($celular) === true) {
         $flag = TRUE;
         session::getInstance()->setFlash('inputCelular', true);
         session::getInstance()->setError('El número de celular es requerido o cualquier otro número donde se le pueda contactar', 'inputCelular');
         $flag = TRUE;
     } elseif (strlen($cliente) > \clienteTableClass::CELULAR_LENGTH) {
         session::getInstance()->setFlash('inputCelular', true);
         session::getInstance()->setError('El número de contacto no puede exceder el máximo de caracteres permitidos ' . \clienteTableClass::CELULAR_LENGTH . ' caracteres', 'inputCelular');
     }
     //      ______________________________________telefono_________________
     $flag = TRUE;
     if (self::notBlank($telefono) === true) {
         session::getInstance()->setFlash('inputTelefono', true);
         session::getInstance()->setError('El número de telefono es requerido o cualquier otro número donde se le pueda contactar', 'inputTelefono');
         $flag = TRUE;
     } elseif (strlen($celular) > \clienteTableClass::TELEFONO_LENGTH) {
         session::getInstance()->setFlash('inputTelefono', true);
         session::getInstance()->setError('El número de contacto no puede exceder el máximo de caracteres permitidos ' . \clienteTableClass::TELEFONO_LENGTH . ' caracteres', 'inputTelefono');
     }
     //      ____________________________________correo___________________
     $flag = TRUE;
     if (self::notBlank($correo) === true) {
         session::getInstance()->setFlash('inputCorreo', true);
         session::getInstance()->setError('El correo es obligatorio para el contacto por parte de la plataforma', 'inputCorreo');
         $flag = TRUE;
     } elseif (strlen($correo) > \clienteTableClass::CORREO_LENGTH) {
         session::getInstance()->setFlash('inputCorreo', true);
         session::getInstance()->setError('El correo no puede exceder el máximo de caracteres permitidos ' . \clienteTableClass::CORREO_LENGTH . ' caracteres', 'inputCorreo');
     }
     //____________________________________________direccion_____________________
     $flag = TRUE;
     if (self::notBlank($direccion) === true) {
         session::getInstance()->setFlash('inputDireccion', true);
         session::getInstance()->setError('La direccion es obligatorio  por parte de la plataforma', 'inputDireccion');
     }
     //    _______________________________________fecha nacimiento_______________
     $flag = TRUE;
     if (self::notBlank($fecha_nacimiento) === true) {
         session::getInstance()->setFlash('inputFecha_nacimiento', true);
         session::getInstance()->setError('La fecha nacimiento es obligatorio  por parte de la plataforma', 'inputFecha_nacimiento');
     }
     if ($flag === true) {
         //request::getInstance()->setMethod('GET');
         routing::getInstance()->forward('cliente', 'cliente');
     }
 }