/**
  * crear un trabajador
  * @param  SQL 		  $trabajadores
  * @return Trabajador
  */
 public static function crearTrabajador($trabajadores)
 {
     $trabajador = new Trabajador($trabajadores->Nombre, $trabajadores->Paterno, $trabajadores->Materno);
     $trabajador->setId($trabajadores->idTrabajador);
     // username
     if (!is_null($trabajadores->Username)) {
         $trabajador->setUsuario(new UsuarioSise($trabajadores->Username, $trabajadores->Passwd));
         $trabajador->getUsuario()->setActivo($trabajadores->Activo);
         $trabajador->getUsuario()->setActivo($trabajadores->Activo);
     }
     // foto
     if (file_exists('public/usuariosFotografias/' . $trabajador->getId() . '.jpg')) {
         $trabajador->setFotografia(new FotografiaTrabajador('public/usuariosFotografias/' . $trabajador->getId() . '.jpg'));
     }
     $trabajador->setArea(new Area($trabajadores->idArea, $trabajadores->NombreArea));
     $trabajador->setPuesto(new Puesto($trabajadores->idPuesto, $trabajadores->NombrePuesto));
     $trabajador->setCelular($trabajadores->Celular);
     $trabajador->setEmail($trabajadores->Email . '@ceccc.gob.mx');
     $trabajador->tieneCuenta(true);
     return $trabajador;
 }
 /**
  * @param Request                     $request
  * @param AreasRepositorioInterface   $areasRepositorio
  * @param PuestosRepositorioInterface $puestosRepositorio
  * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
  * @throws \InvalidMailException
  */
 public function guardarTrabajador(Request $request, AreasRepositorioInterface $areasRepositorio, PuestosRepositorioInterface $puestosRepositorio)
 {
     // obtener datos capturados
     $txtUsername = $request->get('txtUsername');
     $txtPassword = $request->get('txtPassword');
     $area = $request->get('area');
     $txtNombre = $request->get('txtNombre');
     $txtPaterno = $request->get('txtPaterno');
     $txtMaterno = $request->get('txtMaterno');
     $puesto = $request->get('puesto');
     $txtCelular = $request->get('txtCelular');
     $txtEmail = $request->get('txtEmail') . $request->get('txtDominio');
     $modo = $request->get('modo');
     $idTrabajador = base64_decode($request->get('idTrabajador'));
     $fotoCapturada = $request->get('capturada');
     $tieneCuenta = $request->get('usuarioSise') === 'on' ? true : false;
     // obtener area
     $area = $areasRepositorio->obtenerAreaPorId($area);
     // obtener puesto
     $puesto = $puestosRepositorio->obtenerPuestoPorId($puesto);
     // crear usuario a guardar o editar
     $trabajador = new Trabajador($txtNombre, $txtPaterno, $txtMaterno);
     if ($modo === '2') {
         $trabajador->setId($idTrabajador);
     }
     $trabajador->setCelular($txtCelular);
     $trabajador->setEmail($txtEmail);
     $trabajador->setArea($area);
     $trabajador->setPuesto($puesto);
     // ver si es activado como usuario o no
     if ($tieneCuenta) {
         $trabajador->setUsuario(new UsuarioSise($txtUsername, UsuarioSise::encryptaPassword($txtPassword)));
         $trabajador->getUsuario()->setActivo(true);
     }
     if (!$this->trabajadoresRepositorio->persistir($trabajador)) {
         return response(0);
     }
     // var_dump($fotoCapturada);exit;
     // asignar fotografia
     if ($fotoCapturada === '1') {
         // var_dump($fotografia);exit;
         $url = $request->get('foto');
         // foto temporal
         $fotografia = new FotografiaTrabajador($url);
         // renombrar foto y adjuntar a la carpeta de fotos
         if (!$fotografia->guardar($trabajador->getId())) {
             return response(0);
         }
     }
     return response(1);
 }