Пример #1
0
 public function load($data, $formName = null)
 {
     $loaded = parent::load($data, $formName);
     if (!$this->date) {
         $this->date = date('Y-m-d H:i:s');
     } else {
         $this->date = date('Y-m-d H:i:s', strtotime($this->date));
     }
     $scope = $formName === null ? $this->formName() : $formName;
     if (isset($data[$scope])) {
         if (isset($data[$scope]['outgoing'])) {
             foreach ($data[$scope]['outgoing'] as $key => $outgoing) {
                 if (isset($this->outgoings[$key])) {
                     $loaded &= $this->outgoings[$key]->load($outgoing, '');
                 } else {
                     $out = new TransactionOutgoing();
                     $out->id = $key;
                     $loaded &= $out->load($outgoing, '');
                     $this->outgoings[] = $out;
                 }
             }
         }
         if (isset($data[$scope]['incoming'])) {
             foreach ($data[$scope]['incoming'] as $key => $incoming) {
                 if (isset($this->incomings[$key])) {
                     $loaded &= $this->incomings[$key]->load($incoming, '');
                 } else {
                     $in = new TransactionIncoming();
                     $in->id = $key;
                     $loaded &= $in->load($incoming, '');
                     $this->incomings[] = $in;
                 }
             }
         }
         if (isset($data[$scope]['expense'])) {
             foreach ($data[$scope]['expense'] as $key => $expense) {
                 if (isset($this->expenses[$key])) {
                     $loaded &= $this->expenses[$key]->load($expense, '');
                 } else {
                     $exp = new TransactionExpense();
                     $exp->id = $key;
                     $loaded &= $exp->load($expense, '');
                     $this->expenses[] = $exp;
                 }
             }
         }
     }
     return $loaded;
 }