/**
  * Updates an existing Person model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id
  * @return mixed
  */
 public function actionUpdate($id)
 {
     $modelDatenblatt = $this->findModel($id);
     $data = Yii::$app->request->post();
     if ($modelDatenblatt->load($data) && $modelDatenblatt->save()) {
         // Käufer
         $modelKaeufer = $modelDatenblatt->kaeufer;
         if (!$modelKaeufer) {
             $modelKaeufer = new Kaeufer();
         }
         if ($modelKaeufer->load(Yii::$app->request->post())) {
             //                $datumFelder = ['beurkundung_am', 'verbindliche_fertigstellung', 'uebergang_bnl', 'abnahme_se', 'abnahme_ge'];
             //                foreach($datumFelder as $feld) {
             //                    $datum = \DateTime::createFromFormat('d.m.Y', $modelKaeufer->{$feld});
             //                    if ($datum) {
             //                        $datum->setTime(0, 0, 0);
             //                        $modelKaeufer->{$feld} = $datum->format('Y-m-d H:i:s');
             //                    } else {
             //                        $modelKaeufer->{$feld} = '';
             //                    }
             //                }
             // save
             $modelKaeufer->save();
             // assign käufer
             $modelDatenblatt->kaeufer_id = $modelKaeufer->id;
             $modelDatenblatt->save();
         }
         // Sonderwünsche
         if (Sonderwunsch::loadMultiple($modelDatenblatt->sonderwunsches, $data)) {
             foreach ($modelDatenblatt->sonderwunsches as $item) {
                 //                    $datumFelder = ['angebot_datum', 'beauftragt_datum', 'rechnungsstellung_datum'];
                 //                    foreach($datumFelder as $feld) {
                 //                        $datum = \DateTime::createFromFormat('d.m.Y', $item->{$feld});
                 //                        if ($datum) {
                 //                            $datum->setTime(0, 0, 0);
                 //                            $item->{$feld} = $datum->format('Y-m-d H:i:s');
                 //                        } else {
                 //                            $item->{$feld} = '';
                 //                        }
                 //                    }
                 $item->save();
             }
         }
         // Abschläge
         if ($modelsAbschlag = Abschlag::loadMultiple($modelDatenblatt->abschlags, $data)) {
             foreach ($modelDatenblatt->abschlags as $item) {
                 //                    $datumFelder = ['kaufvertrag_angefordert', 'sonderwunsch_angefordert'];
                 //                    foreach($datumFelder as $feld) {
                 //                        $datum = \DateTime::createFromFormat('d.m.Y', $item->{$feld});
                 //                        if ($datum) {
                 //                            $datum->setTime(0, 0, 0);
                 //                            $item->{$feld} = $datum->format('Y-m-d H:i:s');
                 //                        } else {
                 //                            $item->{$feld} = '';
                 //                        }
                 //                    }
                 $item->save();
             }
         }
         // Nachlass
         if (Nachlass::loadMultiple($modelDatenblatt->nachlasses, $data)) {
             foreach ($modelDatenblatt->nachlasses as $item) {
                 //                    $datumFelder = ['schreiben_vom'];
                 //                    foreach($datumFelder as $feld) {
                 //                        $datum = \DateTime::createFromFormat('d.m.Y', $item->{$feld});
                 //                        if ($datum) {
                 //                            $datum->setTime(0, 0, 0);
                 //                            $item->{$feld} = $datum->format('Y-m-d H:i:s');
                 //                        } else {
                 //                            $item->{$feld} = '';
                 //                        }
                 //                    }
                 $item->save();
             }
         }
         // Zahlung
         if (Zahlung::loadMultiple($modelDatenblatt->zahlungs, $data)) {
             foreach ($modelDatenblatt->zahlungs as $item) {
                 //                    $datumFelder = ['datum'];
                 //                    foreach($datumFelder as $feld) {
                 //                        $datum = \DateTime::createFromFormat('d.m.Y', $item->{$feld});
                 //                        if ($datum) {
                 //                            $datum->setTime(0, 0, 0);
                 //                            $item->{$feld} = $datum->format('Y-m-d H:i:s');
                 //                        } else {
                 //                            $item->{$feld} = '';
                 //                        }
                 //                    }
                 $item->save();
             }
         }
         $this->redirect(['update', 'id' => $id]);
     }
     // kaufpreis
     $kaufpreisTotal = 0;
     /* @var $teileh app\models\Teileigentumseinheit */
     if ($modelDatenblatt->haus) {
         foreach ($modelDatenblatt->haus->teileigentumseinheits as $item) {
             $kaufpreisTotal += (double) $item->kaufpreis;
         }
     }
     // sonderwünche
     $sonderwuenscheTotal = 0;
     /* @var $item app\models\Sonderwunsch */
     foreach ($modelDatenblatt->sonderwunsches as $item) {
         $sonderwuenscheTotal += (double) $item->rechnungsstellung_betrag;
     }
     /* @var $item app\models\Abschlag */
     foreach ($modelDatenblatt->abschlags as $item) {
         $item->kaufvertrag_betrag = (string) ((double) $item->kaufvertrag_prozent * $kaufpreisTotal / 100);
         $item->sonderwunsch_betrag = (string) ((double) $item->sonderwunsch_prozent * $sonderwuenscheTotal / 100);
         $item->summe = $item->kaufvertrag_betrag + $item->sonderwunsch_betrag;
     }
     return $this->render('update', ['modelDatenblatt' => $modelDatenblatt, 'modelsZahlungs' => $modelDatenblatt->zahlungs, 'modelKaeufer' => $modelDatenblatt->kaeufer ? $modelDatenblatt->kaeufer : new Kaeufer()]);
 }
Exemplo n.º 2
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getKaeufer()
 {
     return $this->hasOne(Kaeufer::className(), ['id' => 'kaeufer_id']);
 }