|
- <?php
-
- declare(strict_types=1);
-
- namespace App\Controllers;
-
- use App\Repositories\CampaignRepository;
- use App\Repositories\CampaignTypeRepository;
- use App\Repositories\CustomerRepository;
- use App\Repositories\CustomerTypeRepository;
- use App\Repositories\JobRepository;
- use App\Repositories\JobTypeRepository;
- use App\ViewModels\HomeIndexViewModel;
- use Core\Controller;
-
- class HomeController extends Controller
- {
- public function index()
- {
- $db = database();
-
- $model = new HomeIndexViewModel();
- $model->totalCampaignTypes = (new CampaignTypeRepository($db))->count();
- $model->totalCampaigns = (new CampaignRepository($db))->count();
- $model->totalJobTypes = (new JobTypeRepository($db))->count();
- $model->totalJobs = (new JobRepository($db))->count();
- $model->totalCustomerTypes = (new CustomerTypeRepository($db))->count();
- $model->totalCustomers = (new CustomerRepository($db))->count();
- $model->recentCampaigns = (new CampaignRepository($db))->recentWithType(5);
- $model->campaignsByType = (new CampaignRepository($db))->countByType();
- $model->recentCustomers = (new CustomerRepository($db))->recentWithType(5);
- $model->customersByType = (new CustomerRepository($db))->countByType();
-
- return $this->view('home.index', [
- 'model' => $model,
- 'pageTitle' => 'Dashboard',
- ]);
- }
- }
|