/**
  * {@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');
     }
 }
 public function testGetDailyPeriodBudget()
 {
     $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;
     $period_goal = new \shina\controlmybudget\PeriodGoal();
     $period_goal->date_start = new Date('2014-01-01');
     $period_goal->date_end = new Date('2014-01-31');
     $period_goal->amount_goal = 1500;
     $period_goal->events = $events;
     echo $this->budget_control_service->getDailyPeriodBudget($period_goal, $this->user) . PHP_EOL;
 }