/**
  * guardar o editar usuario
  * @param  Trabajador $trabajador
  * @return bool
  */
 public function persistir(Trabajador $trabajador)
 {
     if (!is_null($trabajador->getId())) {
         // editar
         try {
             DB::table('trabajador')->where('idTrabajador', $trabajador->getId())->update(['Nombre' => $trabajador->getNombre(), 'Paterno' => $trabajador->getPaterno(), 'Materno' => $trabajador->getMaterno(), 'Celular' => $trabajador->getCelular(), 'Email' => $trabajador->getEmail(), 'idArea' => $trabajador->getArea()->numero(), 'idPuesto' => $trabajador->getPuesto()->getId(), 'FechaModificacion' => DB::raw('GETDATE()')]);
             if ($trabajador->tieneCuenta()) {
                 // generar usuario y contraseña
                 $this->persistirUsuario($trabajador);
             }
             return true;
         } catch (\Exception $e) {
             return false;
         }
     }
     // insertar
     try {
         $idTrabajador = DB::table('trabajador')->insertGetId(['Nombre' => $trabajador->getNombre(), 'Paterno' => $trabajador->getPaterno(), 'Materno' => $trabajador->getMaterno(), 'Celular' => $trabajador->getCelular(), 'Email' => $trabajador->getEmail(), 'idArea' => $trabajador->getArea()->numero(), 'idPuesto' => $trabajador->getPuesto()->getId(), 'FechaCreacion' => DB::raw('GETDATE()')]);
         // id del trabajador insertado
         $trabajador->setId($idTrabajador);
         if ($trabajador->tieneCuenta()) {
             // generar usuario y contraseña
             $this->persistirUsuario($trabajador);
         }
         return true;
     } catch (\PDOException $e) {
         echo $e->getMessage();
         return false;
     }
 }