• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/service/schedule/scheduleservice.php
  • Класс: BitrixTimemanServiceScheduleScheduleService
  • Вызов: ScheduleService::saveAssignments
private function saveAssignments($schedule, ScheduleForm $scheduleForm)
{
	$res = $this->assignmentsService->saveAssignments($schedule, $scheduleForm);
	if (!$res->isSuccess())
	{
		return $res;
	}
	$schedule->removeAllDepartmentAssignments();
	$schedule->removeAllUserAssignments();
	foreach ($scheduleForm->departmentIds as $departmentId)
	{
		$schedule->addToDepartmentAssignments(
			(new ScheduleDepartment(false))
				->setDepartmentId($departmentId)
				->setIsIncluded()
		);
	}
	foreach ($scheduleForm->departmentIdsExcluded as $departmentIdExc)
	{
		$schedule->addToDepartmentAssignments(
			(new ScheduleDepartment(false))
				->setDepartmentId($departmentIdExc)
				->setIsExcluded()
		);
	}
	foreach ($scheduleForm->userIds as $userId)
	{
		$schedule->addToUserAssignments(ScheduleUser::create($schedule->getId(), $userId));
	}
	foreach ($scheduleForm->userIdsExcluded as $userIdExc)
	{
		$schedule->addToUserAssignments(ScheduleUser::create($schedule->getId(), $userIdExc, true));
	}
	return $res;
}