Exemple #1
0
 /**
  * Delete current Estate and related records (LinkCounters, Counters, Records)
  *
  * @param int $id
  * @return \yii\web\Response
  * @throws ForbiddenHttpException
  * @throws NotFoundHttpException
  * @throws \Exception
  */
 public function actionDelete($id)
 {
     $model = $this->findEstate($id);
     $linkCounters = LinkCounter::findAll(['estate_id' => $model->id]);
     foreach ($linkCounters as $linkCounter) {
         /** @var Counter $counter */
         $counter = Counter::findOne($linkCounter->getCounterId());
         Record::deleteAll(['counter_id' => $counter->id]);
         $counter->delete();
         $linkCounter->delete();
     }
     $model->delete();
     Yii::$app->session->setFlash('success', Yii::t('app', 'FLASH_ESTATE_DELETED'));
     return $this->redirect(['index']);
 }
Exemple #2
0
 /**
  * Initialize function. Creating Counters&LinkCounters records
  *
  * @param int $id
  */
 public function initializeEstate($id)
 {
     /** @var Estate $estate */
     $estate = $this->findEstate($id);
     $communalList = ComService::findByCity($estate->city_id);
     // Get list of  all ComServices in Estate's city
     /** @var ComService $communal */
     foreach ($communalList as $communal) {
         /** @var Counter $counter */
         $counter = new Counter($communal->type);
         // Create new counter with specified type
         $counter->save();
         $model = new LinkCounter();
         // Create full LinkCounter record
         $model->setComserviceId($communal->id);
         $model->setEstateId($estate->id);
         $model->setCounterId($counter->id);
         $model->save();
     }
 }
Exemple #3
0
 /**
  * Getter currnet Counter
  *
  * @return Counter
  */
 public function getCounter()
 {
     return Counter::findOne($this->counter_id);
 }