public function indexAction()
 {
     $salao_slug = $this->getRequest()->getParam("slug");
     // corrigir slug caso necessario
     $pluginSalaoSlug = new Plugin_SalaoSlug($salao_slug);
     $salao_slug = $pluginSalaoSlug->corrigir($salao_slug);
     // buscao o id do salao
     $modelSalao = new Model_DbTable_Salao();
     $salao = $modelSalao->getByField("salao_slug", $salao_slug);
     if (!$salao) {
         throw new Exception("Desculpe! Não encontramos a página solicitada!", 401);
     }
     /**
      * grava o visualizacao
      */
     $modelSalaoVisualizacao = new Model_DbTable_SalaoVisualizacao();
     $modelSalaoVisualizacao->insert(array('salao_id' => $salao->salao_id));
     // caso seja mobile visualizacao antiga
     $mobileDetect = new Mobile_MobileDetect();
     if ($mobileDetect->isMobile()) {
         $this->_redirect("agenda/especialidade/salao/" . $salao->salao_id);
     }
     /**
      * PROFISSIONAIS DA BELEZA
      */
     $modelProfissionalBeleza = new Model_DbTable_ProfissionalBeleza();
     $profissionais = $modelProfissionalBeleza->getProfissionaisBeleza($salao->salao_id);
     /**
      * ESPECIALIDADES E PRECOS
      */
     $modelEspecialidadePreco = new Model_DbTable_EspecialidadePreco();
     $especialidades = $modelEspecialidadePreco->getPrecosEspecialidadesSalao($salao->salao_id);
     $this->view->especialidades = $especialidades;
     /**
      * HORARIO DE FUNCIONAMENTO 
      */
     $modelSalaoFuncionamento = new Model_DbTable_SalaoFuncionamento();
     $funcionamento = $modelSalaoFuncionamento->getByField("salao_id", $salao->salao_id);
     $this->view->salao = $salao;
     $this->view->profissionais = $profissionais;
     $this->view->especialidades = $especialidades;
     $this->view->funcionamento = $funcionamento;
 }
 private function checkHasHorarioFuncionamento()
 {
     $modelSalaoFuncionamento = new Model_DbTable_SalaoFuncionamento();
     $funcionamento = $modelSalaoFuncionamento->getByField("salao_id", $this->identity->salao_id);
     return $funcionamento;
 }
 public function indexAction()
 {
     /**
      * verifica se o salao ja possui funcionamento cadastrado
      */
     $modelSalaoFuncionamento = new Model_DbTable_SalaoFuncionamento();
     $funcionamento = $modelSalaoFuncionamento->getByField("salao_id", $this->_salao_id);
     $formFuncionamento = new Form_Salao_Funcionamento();
     if ($funcionamento) {
         $formFuncionamento->populate($funcionamento->toArray());
     }
     $this->view->formFuncionamento = $formFuncionamento;
     if ($this->getRequest()->isPost()) {
         $data = $this->getRequest()->getPost();
         if ($formFuncionamento->isValid($data)) {
             $data = $formFuncionamento->getValues();
             //Zend_Debug::dump($data);
             try {
                 Zend_Db_Table_Abstract::getDefaultAdapter()->beginTransaction();
                 /**
                  * Limpa os dados do funcionamento caso exista
                  */
                 $modelSalaoFuncionamento->delete("salao_id = {$this->_salao_id}");
                 /**
                  * Limpa os dados do horario caso exista
                  */
                 $modelSalaoHorario = new Model_DbTable_SalaoHorario();
                 $modelSalaoHorario->delete("salao_id = {$this->_salao_id}");
                 $salao_id = $formFuncionamento->getValue('salao_id');
                 $modelSalaoFuncionamento->insert($data);
                 // segunda
                 $salao_funcionamento_segunda_abertura = $formFuncionamento->getValue('salao_funcionamento_segunda_abertura');
                 $salao_funcionamento_segunda_fechamento = $formFuncionamento->getValue('salao_funcionamento_segunda_fechamento');
                 // terca a sexta
                 $salao_funcionamento_abertura = $formFuncionamento->getValue('salao_funcionamento_abertura');
                 $salao_funcionamento_fechamento = $formFuncionamento->getValue('salao_funcionamento_fechamento');
                 // sabado
                 $salao_funcionamento_sabado_abertura = $formFuncionamento->getValue('salao_funcionamento_sabado_abertura');
                 $salao_funcionamento_sabado_fechamento = $formFuncionamento->getValue('salao_funcionamento_sabado_fechamento');
                 // domingo
                 $salao_funcionamento_domingo_abertura = $formFuncionamento->getValue('salao_funcionamento_domingo_abertura');
                 $salao_funcionamento_domingo_fechamento = $formFuncionamento->getValue('salao_funcionamento_domingo_fechamento');
                 // horarios de terca, quarta, quinta e sexta
                 $this->setHorarios($salao_id, 2, $salao_funcionamento_fechamento, $salao_funcionamento_abertura);
                 $this->setHorarios($salao_id, 3, $salao_funcionamento_fechamento, $salao_funcionamento_abertura);
                 $this->setHorarios($salao_id, 4, $salao_funcionamento_fechamento, $salao_funcionamento_abertura);
                 $this->setHorarios($salao_id, 5, $salao_funcionamento_fechamento, $salao_funcionamento_abertura);
                 // caso funcione as segundas
                 if (!empty($salao_funcionamento_segunda_abertura)) {
                     $this->setHorarios($salao_id, 1, $salao_funcionamento_segunda_fechamento, $salao_funcionamento_segunda_abertura);
                 }
                 // caso funcione aos sabados
                 if (!empty($salao_funcionamento_sabado_abertura)) {
                     $this->setHorarios($salao_id, 6, $salao_funcionamento_sabado_fechamento, $salao_funcionamento_sabado_abertura);
                 }
                 // caso funcione aos domingos
                 if (!empty($salao_funcionamento_domingo_abertura)) {
                     $this->setHorarios($salao_id, 0, $salao_funcionamento_domingo_fechamento, $salao_funcionamento_domingo_abertura);
                 }
                 $this->_helper->flashMessenger->addMessage(array('success' => 'Horários cadastrados com sucesso'));
                 Zend_Db_Table_Abstract::getDefaultAdapter()->commit();
             } catch (Exception $ex) {
                 $this->_helper->flashMessenger->addMessage(array('danger' => $ex->getMessage()));
                 Zend_Db_Table_Abstract::getDefaultAdapter()->rollBack();
             }
             $this->_redirect("salao/");
         }
     }
 }