/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(ClienteRequest $request) { $contacto = new Contacto(); $contacto->fill($request->all()); $contacto->save(); $persona = new Persona(); $persona->fill($request->all()); $persona->fecha_nacimiento = Carbon::createFromTimestamp(strtotime($request->fecha_nacimiento))->format('Y-m-d'); $persona->contacto_id = $contacto->id; $persona->save(); $cliente = new Cliente(); $cliente->fill($request->all()); $cliente->fecha_registro = Carbon::now(); $cliente->numero_cliente = '000' . $persona->id; $cliente->persona_id = $persona->id; $cliente->save(); $pregunta = new PreguntaSecreta(); $pregunta->fill($request->all()); $pregunta->save(); $cuenta = new Cuenta(); $cuenta->fill($request->all()); $cuenta->cliente_id = $cliente->id; $cuenta->placa_auto = ''; $cuenta->credito_disponible = 0; $cuenta->sucursal_gasolinera_id = $request->sucursal_gasolinera_id; $cuenta->pregunta_secreta_id = $pregunta->id; $cuenta->save(); $usuario = new User(); $usuario->name = $request->name; $usuario->password = bcrypt($request->password); $usuario->email = $request->correo; $usuario->cliente_id = $cliente->id; $usuario->save(); return redirect()->route('cliente.index'); }
/** * Creates a new Contacto model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new Contacto(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->idContacto]); } else { return $this->render('create', ['model' => $model]); } }
/** * Creates a new Usuario model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $user = new Usuario(); $inst = new Institucion(); $cont = new Contacto(); $dir = new Direccion(); $repr = new Representante(); $modelsConocimientos = [new Conocimiento()]; $institucion = ArrayHelper::map(Institucion::find()->all(), 'id_institucion', 'nombre'); if ($user->load(Yii::$app->request->post()) && $cont->load(Yii::$app->request->post()) && $dir->load(Yii::$app->request->post()) && $repr->load(Yii::$app->request->post())) { $modelsConocimientos = Model::createMultiple(Conocimiento::classname()); Model::loadMultiple($modelsConocimientos, Yii::$app->request->post()); // ajax validation if (Yii::$app->request->isAjax) { Yii::$app->response->format = Response::FORMAT_JSON; return ArrayHelper::merge(ActiveForm::validateMultiple($modelsConocimientos), ActiveForm::validate($user)); } // validate all models $valid = $user->validate(); $valid = Model::validateMultiple($modelsConocimientos) && $valid; if ($valid) { $transaction = \Yii::$app->db->beginTransaction(); try { if ($flag = $user->save(false)) { foreach ($modelsConocimientos as $modelConocimientos) { $modelConocimientos->Usuarioid_usuario = $user->id_usuario; if (!($flag = $modelConocimientos->save(false))) { $transaction->rollBack(); break; } } } if ($flag) { $transaction->commit(); return $this->redirect(['view', 'id' => $user->id_usuario]); } } catch (Exception $e) { $transaction->rollBack(); } } $user->save(); $cont->Usuarioid_usuario = $user->id_usuario; $dir->Usuarioid_usuario = $user->id_usuario; $repr->Usuarioid_usuario = $user->id_usuario; if ($repr->save() && $cont->save() && $dir->save()) { return $this->redirect(['view', 'id' => $user->id_usuario]); } else { return $this->redirect(['index', 'id' => $user->id_usuario]); } } else { return $this->render('create', ['user' => $user, 'cont' => $cont, 'dir' => $dir, 'repr' => $repr, 'institucion' => $institucion, 'modelsConocimientos' => empty($modelsConocimientos) ? [new Conocimiento()] : $modelsConocimientos]); } }