/**
  * Shows the overview for a bill. The min/max amount and matched journals.
  *
  * @param BillRepositoryInterface $repository
  * @param Bill                    $bill
  *
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function single(BillRepositoryInterface $repository, Bill $bill)
 {
     $cache = new CacheProperties();
     $cache->addProperty('single');
     $cache->addProperty('bill');
     $cache->addProperty($bill->id);
     if ($cache->has()) {
         return Response::json($cache->get());
         // @codeCoverageIgnore
     }
     // get first transaction or today for start:
     $results = $repository->getJournals($bill);
     // resort:
     $results = $results->sortBy(function (TransactionJournal $journal) {
         return $journal->date->format('U');
     });
     $data = $this->generator->single($bill, $results);
     $cache->store($data);
     return Response::json($data);
 }