Exemplo n.º 1
0
 /**
  * Creates a new Pregunta model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Pregunta();
     $modelRespuestaExamen = [new RespuestaExamen()];
     $model->load(Yii::$app->request->post());
     $modelRespuestaExamen = DynamicFormModel::createMultiple(RespuestaExamen::className());
     DynamicFormModel::loadMultiple($modelRespuestaExamen, Yii::$app->request->post());
     $valid = $model->validate() && DynamicFormModel::validateMultiple($modelRespuestaExamen);
     if ($valid) {
         $this->negocio->savePregunta1($model, $modelRespuestaExamen);
         $dataProvider = new ActiveDataProvider(['query' => RespuestaExamen::find()->where(['id_pregunta' => $model->id])->orderBy('id')]);
         return $this->redirect(['view', 'id' => $model->id, 'dataProvider' => $dataProvider]);
     } else {
         return $this->render('create', ['model' => $model, 'modelRespuestaExamen' => empty($modelsRespuestaExamen) ? [new RespuestaExamen()] : $modelsRespuestaExamen]);
     }
 }
Exemplo n.º 2
0
 public function savePregunta(&$model, $modelRespuestaExamen)
 {
     $model->file = UploadedFile::getInstance($model, 'file');
     $this->getImagePregunta($model);
     // validate all models
     $modelRespuestaExamen = DynamicFormModel::createMultiple(RespuestaExamen::className());
     DynamicFormModel::loadMultiple($modelRespuestaExamen, Yii::$app->request->post());
     $valid = $model->validate() && DynamicFormModel::validateMultiple($modelRespuestaExamen);
     if ($valid) {
         $transaction = Yii::$app->db->beginTransaction();
         $model->eliminado = 0;
         $flag = $model->save(false);
         if ($model->imagen != 'uploads/null.png') {
             $model->file->saveAs($model->imagen);
         }
         try {
             if ($flag) {
                 foreach ($modelRespuestaExamen as $i => $modelRespuestaExamen) {
                     //cargamos la imagen subida
                     $modelRespuestaExamen->imgfile = UploadedFile::getInstance($modelRespuestaExamen, "[{$i}]imgfile");
                     //verificamos si es nula
                     $this->getImageRespuesta($modelRespuestaExamen);
                     //cargamos la direccion de la imagen
                     //$modelRespuestaExamen->imagen='uploads/'.$imageName;
                     $modelRespuestaExamen->eliminado = 0;
                     if (!($modelRespuestaExamen->validate() && $modelRespuestaExamen->save())) {
                         $transaction->rollBack();
                         return false;
                     }
                     $modelRespuestaExamen->link('idPregunta', $model);
                     if ($modelRespuestaExamen->imagen != 'uploads/null.png') {
                         $modelRespuestaExamen->imgfile->saveAs($modelRespuestaExamen->imagen);
                     }
                 }
                 $transaction->commit();
             }
         } catch (Exception $e) {
             print_r($e);
             $transaction->rollBack();
             return false;
         }
     } else {
         return false;
     }
     return true;
 }
Exemplo n.º 3
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getRespuestaExamens()
 {
     return $this->hasMany(RespuestaExamen::className(), ['id_pregunta' => 'id']);
 }
Exemplo n.º 4
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getIdRespuesta()
 {
     return $this->hasOne(RespuestaExamen::className(), ['id' => 'id_respuesta']);
 }