Ejemplo n.º 1
0
 public function actionAddpacote()
 {
     $searchModel = new InscreveSearch();
     $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
     //$id_evento = Yii::$app->request->queryParams['id_evento'];
     //$id_pacote = Yii::$app->request->queryParams['id_pacote'];
     $id_evento = Yii::$app->request->post('id_evento');
     -($id_pacote = Yii::$app->request->post('id_pacote'));
     $model = $this->findModel($id_evento);
     $inscreve = new Inscreve();
     //primeiro verifica se possui vagas o pacote !!!! é necessário em razão da concorrencia das requisicoes
     //caso não tenha vagas é redirecionado ao index
     if ($inscreve->possuiVagasPacote($id_pacote) != 0) {
         Yii::$app->getSession()->setFlash('danger', ['type' => 'danger', 'message' => 'Inscrição no evento ' . $model->sigla . ' não foi efetuada, pois as vagas referente a esse pacote estão esgotadas', 'title' => 'Inscrição', 'positonY' => 'bottom', 'positonX' => 'right']);
         return Yii::$app->getResponse()->redirect(array('/inscreve/', 'mensagem' => 'erro'));
     } else {
         if ($inscreve->inscreverComPacote($id_evento, $id_pacote) == 0) {
             Yii::$app->getSession()->setFlash('danger', ['type' => 'danger', 'message' => 'Inscrição no evento ' . $model->sigla . ' não foi efetuada, pois você já está inscrito nesse evento', 'title' => 'Inscrição', 'positonY' => 'bottom', 'positonX' => 'right']);
             return Yii::$app->getResponse()->redirect(array('/inscreve/', 'mensagem' => 'erro'));
         } else {
             //caso ótimo: quando há vagas!
             $reduzir = new Inscreve();
             $reduzir->reduzirVagas($id_pacote, $id_evento, 2);
             // redução das vagas no banco de dados !
             //o valor 2 é pq há pacotes!
             //2 significa pacotes ; 1  significa sem pacotes
             Yii::$app->getSession()->setFlash('success', ['type' => 'success', 'message' => 'Inscrição no evento ' . $model->sigla . ' Efetuada com Sucesso', 'title' => 'Inscrição', 'positonY' => 'bottom', 'positonX' => 'right']);
             return Yii::$app->getResponse()->redirect(array('/inscreve/', 'mensagem' => 'sucesso'));
         }
     }
 }