34 lines
1.0 KiB
PHP
34 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Service;
|
|
|
|
use App\Entity\Progress;
|
|
use App\Repository\BookRepository;
|
|
use App\Repository\ProgressRepository;
|
|
|
|
class ProgressService
|
|
{
|
|
private ProgressRepository $progressRepository;
|
|
private BookRepository $bookRepository;
|
|
|
|
public function __construct(ProgressRepository $progressRepository, BookRepository $bookRepository)
|
|
{
|
|
$this->progressRepository = $progressRepository;
|
|
$this->bookRepository = $bookRepository;
|
|
}
|
|
|
|
public function updateProgress(int $bookId, int $progressPages): Progress
|
|
{
|
|
/** @var Progress $progress */
|
|
$progress = $this->progressRepository->findOneBy(['book' => $bookId, 'date' => date_create()]);
|
|
if (!$progress) {
|
|
$progress = new Progress();
|
|
$progress->setBook($this->bookRepository->find($bookId));
|
|
$progress->setDate(date_create());
|
|
}
|
|
$progress->setPages($progressPages);
|
|
$this->progressRepository->add($progress, true);
|
|
return $progress;
|
|
}
|
|
|
|
} |