/**
  * Save object Campus
  **/
 private function saveOrUpdate(Campus_vm $campusVm)
 {
     $msg = null;
     if ($this->input->post()) {
         $campusVm->populate();
         if ($campusVm->validate()) {
             $instituicao = $this->instituicao_bo->findOneBy($campusVm->getInstituicao());
             $campus = new Entity\Campus();
             $campus->setCidade($campusVm->getCidade());
             $campus->setInstituicao($instituicao);
             $campus->setNome($campusVm->getNome());
             if ($campusVm->getIdCampus()) {
                 $this->campus_bo->updateCampus($campus);
             } else {
                 $this->campus_bo->createCampus($campus);
             }
             if ($this->input->is_ajax_request()) {
                 echo json_encode($campus);
                 return;
             } else {
                 redirect('instituicao/campus');
                 return;
             }
         } else {
             $msg = 'Por favor, preencha todos os campos requeridos';
         }
     }
     eval(\Psy\sh());
     $instituicao_list = array_map(function ($d) {
         return $d->getNome();
     }, $this->instituicao_bo->list_all());
     array_unshift($instituicao_list, 'Selecione...');
     $this->load->view('campus/save_campus.html.php', array('title' => 'Campus', 'heading' => $campusVm->getIdCampus() ? 'Edit' : 'New', 'campusVm' => $campusVm, 'msg' => $msg, 'instituicao_list' => $instituicao_list));
 }
 public function insert(Entity\Campus $campus)
 {
     try {
         $instituicao = $this->em->find('Entity\\Instituicao', $campus->getInstituicao()->getIdInstituicao());
         if ($instituicao != null) {
             $campus->setInstituicao($instituicao);
         }
         $this->em->persist($campus);
         $this->em->flush();
         return $campus->getIdCampus();
     } catch (Exception $ex) {
         $this->CI->log->write_log('error', $ex->getMessage() . ' - campus_dao::insert ');
     }
 }