move service logic from grading and administrator controller
This commit is contained in:
@@ -329,4 +329,167 @@ class Services extends BaseService
|
||||
new \App\Libraries\InvoiceLedgerService()
|
||||
);
|
||||
}
|
||||
|
||||
public static function enrollmentWithdrawal(bool $getShared = true): \App\Services\EnrollmentWithdrawalService
|
||||
{
|
||||
if ($getShared) {
|
||||
return static::getSharedInstance('enrollmentWithdrawal');
|
||||
}
|
||||
|
||||
$db = \Config\Database::connect();
|
||||
|
||||
return new \App\Services\EnrollmentWithdrawalService(
|
||||
$db,
|
||||
model(\App\Models\StudentModel::class),
|
||||
model(\App\Models\EnrollmentModel::class),
|
||||
model(\App\Models\StudentClassModel::class),
|
||||
model(\App\Models\ClassSectionModel::class),
|
||||
model(\App\Models\UserModel::class),
|
||||
model(\App\Models\InvoiceModel::class),
|
||||
model(\App\Models\RefundModel::class)
|
||||
);
|
||||
}
|
||||
|
||||
public static function teacherSubmissionReport(bool $getShared = true): \App\Services\TeacherSubmissionReportService
|
||||
{
|
||||
if ($getShared) {
|
||||
return static::getSharedInstance('teacherSubmissionReport');
|
||||
}
|
||||
|
||||
return new \App\Services\TeacherSubmissionReportService(
|
||||
\Config\Database::connect(),
|
||||
model(\App\Models\ConfigurationModel::class),
|
||||
model(\App\Models\StudentClassModel::class),
|
||||
model(\App\Models\ClassSectionModel::class),
|
||||
model(\App\Models\UserModel::class)
|
||||
);
|
||||
}
|
||||
|
||||
public static function administratorDashboard(bool $getShared = true): \App\Services\AdministratorDashboardService
|
||||
{
|
||||
if ($getShared) {
|
||||
return static::getSharedInstance('administratorDashboard');
|
||||
}
|
||||
|
||||
return new \App\Services\AdministratorDashboardService(
|
||||
\Config\Database::connect(),
|
||||
model(\App\Models\UserModel::class),
|
||||
model(\App\Models\LoginActivityModel::class)
|
||||
);
|
||||
}
|
||||
|
||||
public static function adminNotificationSettings(bool $getShared = true): \App\Services\AdminNotificationSettingsService
|
||||
{
|
||||
if ($getShared) {
|
||||
return static::getSharedInstance('adminNotificationSettings');
|
||||
}
|
||||
|
||||
return new \App\Services\AdminNotificationSettingsService(
|
||||
\Config\Database::connect(),
|
||||
model(\App\Models\AdminNotificationSubjectModel::class)
|
||||
);
|
||||
}
|
||||
|
||||
public static function administratorDirectory(bool $getShared = true): \App\Services\AdministratorDirectoryService
|
||||
{
|
||||
if ($getShared) {
|
||||
return static::getSharedInstance('administratorDirectory');
|
||||
}
|
||||
|
||||
return new \App\Services\AdministratorDirectoryService(
|
||||
\Config\Database::connect(),
|
||||
model(\App\Models\StudentClassModel::class),
|
||||
model(\App\Models\UserModel::class),
|
||||
model(\App\Models\UserRoleModel::class),
|
||||
model(\App\Models\InvoiceModel::class),
|
||||
model(\App\Models\StudentModel::class)
|
||||
);
|
||||
}
|
||||
|
||||
public static function gradingScore(bool $getShared = true): \App\Services\GradingScoreService
|
||||
{
|
||||
if ($getShared) {
|
||||
return static::getSharedInstance('gradingScore');
|
||||
}
|
||||
|
||||
$configModel = model(\App\Models\ConfigurationModel::class);
|
||||
$attendanceCalculator = new \App\Services\Calculators\AttendanceCalculator(
|
||||
model(\App\Models\AttendanceRecordModel::class),
|
||||
$configModel,
|
||||
model(\App\Models\CalendarModel::class)
|
||||
);
|
||||
|
||||
return new \App\Services\GradingScoreService(
|
||||
\Config\Database::connect(),
|
||||
$configModel,
|
||||
model(\App\Models\HomeworkModel::class),
|
||||
model(\App\Models\UserModel::class),
|
||||
model(\App\Models\StudentClassModel::class),
|
||||
model(\App\Models\StudentModel::class),
|
||||
model(\App\Models\TeacherClassModel::class),
|
||||
model(\App\Models\ClassSectionModel::class),
|
||||
$attendanceCalculator,
|
||||
model(\App\Models\GradingLockModel::class),
|
||||
static::semesterScoreService(),
|
||||
(string) $configModel->getConfig('school_year'),
|
||||
(string) getSemester()
|
||||
);
|
||||
}
|
||||
|
||||
public static function placementGrading(bool $getShared = true): \App\Services\PlacementGradingService
|
||||
{
|
||||
if ($getShared) {
|
||||
return static::getSharedInstance('placementGrading');
|
||||
}
|
||||
|
||||
$configModel = model(\App\Models\ConfigurationModel::class);
|
||||
|
||||
return new \App\Services\PlacementGradingService(
|
||||
\Config\Database::connect(),
|
||||
model(\App\Models\StudentModel::class),
|
||||
model(\App\Models\PlacementLevelModel::class),
|
||||
model(\App\Models\PlacementBatchModel::class),
|
||||
model(\App\Models\PlacementScoreModel::class),
|
||||
(string) $configModel->getConfig('school_year')
|
||||
);
|
||||
}
|
||||
|
||||
public static function belowSixty(bool $getShared = true): \App\Services\BelowSixtyService
|
||||
{
|
||||
if ($getShared) {
|
||||
return static::getSharedInstance('belowSixty');
|
||||
}
|
||||
|
||||
$configModel = model(\App\Models\ConfigurationModel::class);
|
||||
|
||||
return new \App\Services\BelowSixtyService(
|
||||
\Config\Database::connect(),
|
||||
$configModel,
|
||||
model(\App\Models\StudentModel::class),
|
||||
model(\App\Models\StudentClassModel::class),
|
||||
model(\App\Models\ParentMeetingScheduleModel::class),
|
||||
model(\App\Models\UserModel::class),
|
||||
(string) $configModel->getConfig('school_year'),
|
||||
(string) getSemester()
|
||||
);
|
||||
}
|
||||
|
||||
public static function studentDecision(bool $getShared = true): \App\Services\StudentDecisionService
|
||||
{
|
||||
if ($getShared) {
|
||||
return static::getSharedInstance('studentDecision');
|
||||
}
|
||||
|
||||
$configModel = model(\App\Models\ConfigurationModel::class);
|
||||
|
||||
return new \App\Services\StudentDecisionService(
|
||||
\Config\Database::connect(),
|
||||
$configModel,
|
||||
model(\App\Models\StudentModel::class),
|
||||
model(\App\Models\StudentClassModel::class),
|
||||
model(\App\Models\UserModel::class),
|
||||
(string) $configModel->getConfig('school_year'),
|
||||
(string) getSemester()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user