getContainer()->getPermissionsService()->currentUserCanRead(Entities::SERVICES)) { throw new AccessDeniedException('You are not allowed to read services'); } $result = new CommandResult(); /** @var BookableApplicationService $bookableAS */ $bookableAS = $this->getContainer()->get('application.bookable.service'); $appointmentsCount = $bookableAS->getAppointmentsCountForServices([$command->getArg('id')]); $message = ''; if ($appointmentsCount['futureAppointments'] > 0) { $appointmentString = $appointmentsCount['futureAppointments'] === 1 ? 'appointment' : 'appointments'; $message = "Could not delete service. This service has {$appointmentsCount['futureAppointments']} {$appointmentString} in the future."; } elseif ($appointmentsCount['pastAppointments'] > 0) { $appointmentString = $appointmentsCount['pastAppointments'] === 1 ? 'appointment' : 'appointments'; $message = "This service has {$appointmentsCount['pastAppointments']} {$appointmentString} in the past."; } $result->setResult(CommandResult::RESULT_SUCCESS); $result->setMessage('Successfully retrieved message.'); $result->setData([ 'valid' => $appointmentsCount['futureAppointments'] ? false : true, 'message' => $message ]); return $result; } }