Files
firefly-iii/app/Helpers/Collection/BalanceLine.php

106 lines
1.8 KiB
PHP
Raw Normal View History

2015-05-16 14:51:23 +02:00
<?php
namespace FireflyIII\Helpers\Collection;
use FireflyIII\Models\Budget as BudgetModel;
use Illuminate\Support\Collection;
/**
2015-05-16 19:08:54 +02:00
* @codeCoverageIgnore
*
2015-05-16 14:51:23 +02:00
* Class BalanceLine
*
* @package FireflyIII\Helpers\Collection
*/
class BalanceLine
{
/** @var Collection */
protected $balanceEntries;
2015-05-16 15:43:58 +02:00
2015-05-16 14:51:23 +02:00
/** @var BudgetModel */
protected $budget;
2015-05-17 09:18:44 +02:00
/** @var float */
2015-05-16 15:43:58 +02:00
protected $budgetAmount = 0.0;
2015-05-16 14:51:23 +02:00
/**
*
*/
public function __construct()
{
$this->balanceEntries = new Collection;
}
2015-05-16 15:43:58 +02:00
/**
* @param BalanceEntry $balanceEntry
*/
2015-05-16 14:51:23 +02:00
public function addBalanceEntry(BalanceEntry $balanceEntry)
{
$this->balanceEntries->push($balanceEntry);
}
/**
* @return BudgetModel
*/
public function getBudget()
{
return $this->budget;
}
/**
* @param BudgetModel $budget
*/
public function setBudget($budget)
{
$this->budget = $budget;
}
2015-05-17 09:18:44 +02:00
/**
* @return float
*/
public function left()
{
$start = $this->getBudgetAmount();
/** @var BalanceEntry $balanceEntry */
foreach ($this->getBalanceEntries() as $balanceEntry) {
$start += $balanceEntry->getSpent();
}
return $start;
}
2015-05-16 15:43:58 +02:00
/**
* @return float
*/
public function getBudgetAmount()
{
return $this->budgetAmount;
}
/**
* @param float $budgetAmount
*/
public function setBudgetAmount($budgetAmount)
{
$this->budgetAmount = $budgetAmount;
}
/**
2015-05-17 09:18:44 +02:00
* @return Collection
2015-05-16 15:43:58 +02:00
*/
2015-05-17 09:18:44 +02:00
public function getBalanceEntries()
{
return $this->balanceEntries;
2015-05-16 15:43:58 +02:00
}
2015-05-17 09:18:44 +02:00
/**
* @param Collection $balanceEntries
*/
public function setBalanceEntries($balanceEntries)
{
$this->balanceEntries = $balanceEntries;
}
2015-05-16 15:43:58 +02:00
2015-05-16 14:51:23 +02:00
}