public function testGetDailyBudget() { $purchase = new \shina\controlmybudget\Purchase\Purchase(); $purchase->date = new DateTime('2014-01-15'); $purchase->place = 'Zona Sul'; $purchase->amount = 2.1; $this->purchase_service->save($purchase, $this->user); $purchase = new \shina\controlmybudget\Purchase\Purchase(); $purchase->date = new DateTime('2013-12-25'); $purchase->place = 'Natalandia'; $purchase->amount = 300; $this->purchase_service->save($purchase, $this->user); $purchase = new \shina\controlmybudget\Purchase\Purchase(); $purchase->date = new DateTime('2014-01-20'); $purchase->place = 'Casa do carnaval'; $purchase->amount = 54.7; $this->purchase_service->save($purchase, $this->user); $purchase = new \shina\controlmybudget\Purchase\Purchase(); $purchase->date = new DateTime('2014-01-21'); $purchase->place = 'Bigbi'; $purchase->amount = 11.0; $this->purchase_service->save($purchase, $this->user); $events = []; $event = new \ebussola\goalr\event\Event(); $event->name = 'fds'; $event->date_start = new DateTime('2014-01-01'); $event->date_end = new DateTime('2014-01-02'); $event->variation = 50; $event->category = 'regular'; $events[] = $event; $event = new \ebussola\goalr\event\Event(); $event->name = 'fds'; $event->date_start = new DateTime('2014-01-08'); $event->date_end = new DateTime('2014-01-09'); $event->variation = 50; $event->category = 'regular'; $events[] = $event; $monthly_goal = new \shina\controlmybudget\MonthlyGoal\MonthlyGoal(); $monthly_goal->month = 1; $monthly_goal->year = 2014; $monthly_goal->amount_goal = 1500; $monthly_goal->events = $events; echo $this->budget_control_service->getDailyMonthlyBudget($monthly_goal, $this->user) . PHP_EOL; }
/** * {@inheritDoc} */ public function render() { $dataProvider = new DataProvider(); $budgetControlService = new BudgetControlService(new PurchaseService($dataProvider), new Goalr()); $monthlyGoal = MonthlyGoal::query()->mine()->currentMonth()->first(); if ($monthlyGoal) { $todayBudget = new Currency($budgetControlService->getDailyMonthlyBudget($monthlyGoal, \BackendAuth::getUser())); $todayBudget->setFormat('{number}'); $todaySpent = new Currency(Purchase::calcAmountByPeriod(new \DateTime(), new \DateTime(), \BackendAuth::getUser()->id)); $todaySpent->setFormat('{number}'); $this->vars['todaySpent'] = $todaySpent; $this->vars['todayBudget'] = $todayBudget; return $this->makePartial('dailybudget'); } else { return $this->makePartial('no_monthly_goal'); } }