Ejemplo n.º 1
0
 /**
  * Atualiza ou insere os emails
  * @return void
  */
 private function atualizaEmails(funcionariosModel $funcionario)
 {
     //excluir
     $emailExcluir = array();
     foreach ($funcionario->getEmail() as $email) {
         if ($email->getId() != '') {
             array_push($emailExcluir, $email->getId());
         }
     }
     $cond = '';
     if (!empty($emailExcluir)) {
         $emailExcluir = implode(',', $emailExcluir);
         $this->db->clear();
         $cond = " AND id_email not in (" . $emailExcluir . ")";
     }
     $sql = "DELETE FROM emails WHERE id_email in( SELECT B.id_email FROM emails_funcionarios AS B WHERE B.id_funcionario = '" . $funcionario->getId() . "' AND id_email = B.id_email) {$cond}";
     $this->db->query($sql);
     $this->db->clear();
     $this->db->setTabela('emails');
     foreach ($funcionario->getEmail() as $emails) {
         if (!empty($emails)) {
             $data = array('tipo_email' => $emails->getTipo(), 'endereco_email' => $emails->getEmail());
             if ($emails->getId() != '') {
                 $this->db->setCondicao('id_email = "' . $emails->getId() . '"');
                 $this->db->update($data);
             } else {
                 $this->db->insert($data);
                 $idEmail = $this->db->getUltimoId();
                 $idFuncionario = $funcionario->getId();
                 $this->db->query("INSERT INTO emails_funcionarios VALUES ('{$idFuncionario}','{$idEmail}')");
             }
             if ($this->db->rowCount() > 0) {
                 $this->nUpdates++;
             }
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * Atualiza funcionários
  * @return boolean
  */
 public function atualizar(funcionariosModel $funcionario)
 {
     $data = array('foto_funcionario' => $funcionario->getFoto(), 'nome_funcionario' => $funcionario->getNome(), 'sobrenome_funcionario' => $funcionario->getSobrenome(), 'data_nascimento_funcionario' => $funcionario->getDataNascimento(), 'sexo_funcionario' => $funcionario->getSexo(), 'rg_funcionario' => $funcionario->getRg(), 'cpf_funcionario' => $funcionario->getCpf(), 'estado_civil_funcionario' => $funcionario->getEstadoCivil(), 'escolaridade_funcionario' => $funcionario->getEscolaridade(), 'email_funcionario' => $funcionario->getEmail(), 'telefone_funcionario' => $funcionario->getTelefone(), 'id_cargo' => $funcionario->getCargo()->getId(), 'data_admissao_funcionario' => $funcionario->getDataAdmissao(), 'data_demissao_funcionario' => $funcionario->getDataDemissao());
     try {
         $this->db->clear();
         $this->db->setTabela('funcionarios');
         $this->db->setCondicao("id_funcionario = ?");
         $this->db->setParameter(1, $funcionario->getId());
         if ($this->db->update($data)) {
             $this->nUpdates++;
         }
     } catch (dbException $e) {
         return $e->getMessageError();
     }
     //ENDEREÇO
     $this->atualizaEndereco($funcionario);
     if ($this->nUpdates > 0) {
         return true;
     } else {
         return json_encode(array('erro' => 'Erro ao editar registro'));
     }
 }