<?php
namespace App\Controller\Api;
use App\Entity\Game;
use App\Entity\TrainingAsist;
use DateTime;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
class ReportTeamController extends ApiController
{
public function __construct(EntityManagerInterface $em, ParameterBagInterface $parameterBag)
{
parent::__construct($em, $parameterBag);
}
/**
* @param Request $request
* @return JsonResponse
*
* @Route("/report_team/range", name="api_training_assit_report_range", methods={"POST"})
*/
public function trainingAsistReport(Request $request)
{
$dateStart = new DateTime($request->get('date_start'));
$dateEnd = new DateTime($request->get('date_end'));
/** @var Customer $customer */
$customer = $this->getUser();
$season = $customer->getSeasonActive();
$filterTrainigns = [
[
"prop" => "date",
"comp" => ">=",
"val" => $dateStart->format('Y-m-d')
],
[
"prop" => "date",
"comp" => "<=",
"val" => $dateEnd->format('Y-m-d')
],
[
"prop" => "season",
"comp" => "=",
"val" => $season->getId()
],
];
$filterGame = [
[
"prop" => "date",
"comp" => ">=",
"val" => $dateStart->format('Y-m-d h:m:s')
],
[
"prop" => "date",
"comp" => "<=",
"val" => $dateEnd->format('Y-m-d h:m:s')
],
[
"prop" => "season",
"comp" => "=",
"val" => $season->getId()
],
];
//get categories
$listCategories = $this->em->getRepository(TrainingAsist::class)->findByOwnCriteria($filterTrainigns);
$matches = $this->em->getRepository(Game::class)->findByOwnCriteria($filterGame);
return $this->response([
'trainings' => count($listCategories),
'matches' => count($matches),
]);
}
}