public function RegistrarInscripcion(&$Persona, $DetalleInscripcion) { //verificamos si existe la parsona; $flag; $aux = Persona::find()->where(['ci' => $Persona->ci])->one(); $DetalleInscripcion = DynamicFormModel::createMultiple(InscripcionExamen::className()); DynamicFormModel::loadMultiple($DetalleInscripcion, Yii::$app->request->post()); $valid = $Persona->validate(); $valid = DynamicFormModel::validateMultiple($DetalleInscripcion) && $valid; if ($aux != null) { $Persona = $aux; } else { $Persona->eliminado = 0; $flag = $Persona->save(false); } foreach ($DetalleInscripcion as $i => $DetalleInscripcion) { //$DetalleInscripcion->idAlumno = $Persona; $DetalleInscripcion->fecha_inscripcion = date('Y-m-d H:i:s'); $DetalleInscripcion->eliminado = 0; if (!($flag = $DetalleInscripcion->save(false))) { $transaction->rollBack(); return false; } $DetalleInscripcion->link('idAlumno', $Persona); } return true; }
public function actionGuardarRespuesta() { $id_inscripcion = Yii::$app->session->get('id_inscripcion'); $respuestasAlumno = DynamicFormModel::createMultiple(RespuestaAlumno::className()); DynamicFormModel::loadMultiple($respuestasAlumno, Yii::$app->request->post()); $valid = DynamicFormModel::validateMultiple($respuestasAlumno); if ($valid) { $negocio = new RespuestaExamenNegocio(); $negocio->guardarRespuestasAlumno($respuestasAlumno, $id_inscripcion); } Yii::$app->session->remove('id_inscripcion'); Yii::$app->session->close(); return $this->redirect(['index']); }
/** * 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]); } }
public function updatePregunta($model) { $modelRespuestaExamen = $model->respuestaExamens; $oldIDs = ArrayHelper::map($modelRespuestaExamen, 'id', 'id'); $modelRespuestaExamen = DynamicFormModel::createMultiple(RespuestaExamen::classname(), $modelRespuestaExamen); DynamicFormModel::loadMultiple($modelRespuestaExamen, Yii::$app->request->post()); $deletedIDs = array_diff($oldIDs, array_filter(ArrayHelper::map($modelRespuestaExamen, 'id', 'id'))); if ($model->validate() && DynamicFormModel::validateMultiple($modelRespuestaExamen)) { $transaction = Yii::$app->db->beginTransaction(); try { $model->file = UploadedFile::getInstance($model, 'file'); if ($model->file != NULL) { $this->getImagePregunta($model); } if ($model->save(false)) { if ($model->file != NULL) { $model->file->saveAs($model->imagen); } // if (! empty($deletedIDs)) { // RespuestaExamen::deleteAll(['id' => $deletedIDs]); // } foreach ($modelRespuestaExamen as $i => $modelRespuestaExamen) { $modelRespuestaExamen->imgfile = UploadedFile::getInstance($modelRespuestaExamen, "[{$i}]imgfile"); if ($modelRespuestaExamen->imgfile != NULL) { $this->getImageRespuesta($modelRespuestaExamen); } if (!($flag = $modelRespuestaExamen->save(false))) { $transaction->rollBack(); return false; } $modelRespuestaExamen->link('idPregunta', $model); if ($modelRespuestaExamen->imgfile != NULL) { $modelRespuestaExamen->imgfile->saveAs($modelRespuestaExamen->imagen); } } } $transaction->commit(); return true; } catch (Exception $e) { print_r($e); $transaction->rollBack(); return false; } } else { return false; } }