Ejemplo n.º 1
0
 public function init()
 {
     $value = $this->getValue();
     if ($this->_riseValue === null) {
         if ($this->depositDays <= 365) {
             $wiborModel = new Wibor();
             $rangeStart = $wiborModel->getRangeStart($this->depositDays);
             $rangeEnd = $wiborModel->getRangeEnd($this->depositDays);
         } else {
             $irsModel = new Irs();
             $rangeStart = $irsModel->getRangeStart($this->depositDays);
             $rangeEnd = $irsModel->getRangeEnd($this->depositDays);
             if ($rangeStart === null) {
                 // dla okresów z przedziału [366D, 729D]
                 $wiborModel = new Wibor();
                 $rangeStart = $wiborModel->getRangeStart($this->depositDays);
             }
         }
         if ($rangeEnd === null) {
             $this->_riseValue += $rangeStart->value;
         } else {
             $x0 = $rangeStart->period;
             $x1 = $rangeEnd->period;
             $y0 = $rangeStart->value;
             $y1 = $rangeEnd->value;
             $x = $this->depositDays;
             $this->_riseValue += $this->linearInterpolation($x0, $x1, $y0, $y1, $x);
         }
     }
     $value += $this->_riseValue;
     $this->setValue($value);
 }