/**
  * Creates a new Datenblatt model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Datenblatt();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
 /**
  * Creates a new Person model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $modelDatenblatt = new Datenblatt();
     //        $modelsKaeufer = $modelDatenblatt->kaeufer;
     $modelsNachlass = [new Nachlass()];
     $modelsZahlung = [new Zahlung()];
     //        $modelsRoom = [[new Zahlung]];
     if ($modelDatenblatt->load(Yii::$app->request->post())) {
         //            $modelsNachlass = DynamicForm::createMultiple(Nachlass::classname());
         //            DynamicForm::loadMultiple($modelsNachlass, Yii::$app->request->post());
         //var_dump($modelDatenblatt);
         //            die('da1');
         $modelsZahlung = DynamicForm::createMultiple(Zahlung::classname());
         DynamicForm::loadMultiple($modelsZahlung, Yii::$app->request->post());
         // validate person and houses models
         $valid = $modelDatenblatt->validate();
         //var_dump($modelsZahlung);
         //            $valid = DynamicForm::validateMultiple($modelsNachlass) && $valid;
         $valid = DynamicForm::validateMultiple($modelsZahlung, ['betrag']) && $valid;
         //var_dump($valid);
         //die;
         //            if (isset($_POST['Room'][0][0])) {
         //                foreach ($_POST['Room'] as $indexNachlass => $rooms) {
         //                    foreach ($rooms as $indexRoom => $room) {
         //                        $data['Room'] = $room;
         //                        $modelRoom = new Room;
         //                        $modelRoom->load($data);
         //                        $modelsRoom[$indexNachlass][$indexRoom] = $modelRoom;
         //                        $valid = $modelRoom->validate();
         //                    }
         //                }
         //            }
         if ($valid) {
             $transaction = Yii::$app->db->beginTransaction();
             try {
                 if ($flag = $modelDatenblatt->save(false)) {
                     foreach ($modelsNachlass as $indexNachlass => $modelNachlass) {
                         if ($flag === false) {
                             break;
                         }
                         $modelNachlass->datenblatt_id = $modelDatenblatt->id;
                         if (!($flag = $modelNachlass->save(false))) {
                             break;
                         }
                         //                            if (isset($modelsRoom[$indexNachlass]) && is_array($modelsRoom[$indexNachlass])) {
                         //                                foreach ($modelsRoom[$indexNachlass] as $indexRoom => $modelRoom) {
                         //                                    $modelRoom->house_id = $modelNachlass->id;
                         //                                    if (!($flag = $modelRoom->save(false))) {
                         //                                        break;
                         //                                    }
                         //                                }
                         //                            }
                     }
                     // save zahlungs
                     foreach ($modelsZahlung as $indexZahlung => $modelZahlung) {
                         if ($flag === false) {
                             break;
                         }
                         $modelZahlung->datenblatt_id = $modelDatenblatt->id;
                         if (!($flag = $modelZahlung->save(false))) {
                             break;
                         }
                     }
                 }
                 if ($flag) {
                     $transaction->commit();
                     return $this->redirect(['update', 'id' => $modelDatenblatt->id]);
                 } else {
                     $transaction->rollBack();
                 }
             } catch (Exception $e) {
                 $transaction->rollBack();
             }
         }
     }
     return $this->render('create', ['modelDatenblatt' => $modelDatenblatt, 'modelsZahlung' => empty($modelsZahlung) ? [new Zahlung()] : $modelsZahlung, 'modelsNachlass' => empty($modelsNachlass) ? [new Nachlass()] : $modelsNachlass]);
 }