File: /var/www/vhost/disk-apps/demo.sports-crowd.com/app/Http/Controllers/TicketSubscribersController.php
<?php
namespace App\Http\Controllers;
use App\Core\Ticket\Application\TicketSubscribersService;
use App\Core\Ticket\Application\SeatService;
use App\Season;
use Illuminate\Http\Request;
class TicketSubscribersController extends Controller
{
private $ticketSubscribersService;
private $seatService;
public function __construct()
{
$this->ticketSubscribersService = new TicketSubscribersService();
$this->seatService = new SeatService();
}
public function dashboard()
{
$seasons = Season::select('id', 'name')->orderBy('name', 'asc')->get();
$dataSeats = $this->seatService->dataSeats();
return view('ticket_subscribers.dashboard', compact('seasons', 'dataSeats'));
}
public function listDashboard(Request $request)
{
return $this->ticketSubscribersService->queryDashboard($request);
}
public function downloadReport(Request $request)
{
$reportData = $this->ticketSubscribersService->queryDownloadReport($request);
$data = array_map(function ($row) {
return $row;
}, $reportData->toArray());
return response()->json(['data' => $data]);
}
}