* * Where yyyy-mm-dd is the date and is the money spent using WITHDRAWALS in the $budget * from all the users accounts. * * @param Budget $budget * @param Carbon $start * @param Carbon $end * * @return array */ public function spentPerDay(Budget $budget, Carbon $start, Carbon $end); /** * Returns an array with the following key:value pairs: * * yyyy-mm-dd: * * Where yyyy-mm-dd is the date and is the money spent using WITHDRAWALS in the $budget * from the given users accounts.. * * @param Budget $budget * @param Collection $accounts * @param Carbon $start * @param Carbon $end * * @return array */ public function spentPerDayForAccounts(Budget $budget, Collection $accounts, Carbon $start, Carbon $end); /** * Returns an array with the following key:value pairs: * * yyyy-mm-dd: * * That array contains: * * budgetid: * * Where yyyy-mm-dd is the date and is the money spent using WITHDRAWALS in the $budget * from the given users accounts.. * * @param Collection $accounts * @param Carbon $start * @param Carbon $end * * @return array */ public function spentAllPerDayForAccounts(Collection $accounts, Carbon $start, Carbon $end); /** * @param Budget $budget * * @return boolean */ public function destroy(Budget $budget); /** * Returns an array with every budget in it and the expenses for each budget * per month. * * @param Collection $accounts * @param Carbon $start * @param Carbon $end * * @return array */ public function getBudgetsAndExpensesPerMonth(Collection $accounts, Carbon $start, Carbon $end); /** * Returns an array with every budget in it and the expenses for each budget * per year for. * * @param Collection $budgets * @param Collection $accounts * @param Carbon $start * @param Carbon $end * * @return array */ public function getBudgetsAndExpensesPerYear(Collection $budgets, Collection $accounts, Carbon $start, Carbon $end); /** * Takes tags into account. * * @param Budget $budget * @param Carbon $date * * @return float */ public function expensesOnDay(Budget $budget, Carbon $date); /** * @return Collection */ public function getActiveBudgets(); /** * Get the budgeted amounts for each budgets in each year. * * @param Collection $budgets * @param Carbon $start * @param Carbon $end * * @return Collection */ public function getBudgetedPerYear(Collection $budgets, Carbon $start, Carbon $end); /** * @param Budget $budget * @param Carbon $start * @param Carbon $end * * @return Collection */ public function getBudgetLimitRepetitions(Budget $budget, Carbon $start, Carbon $end); /** * @param Carbon $start * @param Carbon $end * * @return Collection */ public function getAllBudgetLimitRepetitions(Carbon $start, Carbon $end); /** * @param Budget $budget * * @return Collection */ public function getBudgetLimits(Budget $budget); /** * @return Collection */ public function getBudgets(); /** * Returns a list of budgets, budget limits and limit repetitions * (doubling any of them in a left join) * * @param Carbon $start * @param Carbon $end * * @return Collection */ public function getBudgetsAndLimitsInRange(Carbon $start, Carbon $end); /** * @param Budget $budget * @param Carbon $start * @param Carbon $end * * @return LimitRepetition|null */ public function getCurrentRepetition(Budget $budget, Carbon $start, Carbon $end); /** * @param Budget $budget * * @return Carbon */ public function getFirstBudgetLimitDate(Budget $budget); /** * @return Collection */ public function getInactiveBudgets(); /** * Returns all the transaction journals for a limit, possibly limited by a limit repetition. * * @param Budget $budget * @param LimitRepetition $repetition * @param int $take * * @return LengthAwarePaginator */ public function getJournals(Budget $budget, LimitRepetition $repetition = null, $take = 50); /** * @deprecated * * @param Budget $budget * * @return Carbon */ public function getLastBudgetLimitDate(Budget $budget); /** * @deprecated * * @param Budget $budget * @param Carbon $date * * @return float */ public function getLimitAmountOnDate(Budget $budget, Carbon $date); /** * @param Carbon $start * @param Carbon $end * * @return Collection */ public function getWithoutBudget(Carbon $start, Carbon $end); /** * @param Carbon $start * @param Carbon $end * * @return mixed */ public function getWithoutBudgetSum(Carbon $start, Carbon $end); /** * * Same as ::spentInPeriod but corrects journals for a set of accounts * * @param Budget $budget * @param Carbon $start * @param Carbon $end * @param Collection $accounts * * @return string */ public function balanceInPeriod(Budget $budget, Carbon $start, Carbon $end, Collection $accounts); /** * @param array $data * * @return Budget */ public function store(array $data); /** * @param Budget $budget * @param array $data * * @return Budget */ public function update(Budget $budget, array $data); /** * @param Budget $budget * @param Carbon $date * @param $amount * * @return mixed */ public function updateLimitAmount(Budget $budget, Carbon $date, $amount); }