• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/scrum/service/sprintservice.php
  • Класс: BitrixTasksScrumServiceSprintService
  • Вызов: SprintService::changeSort
public function changeSort(array $sortInfo): void
{
	try
	{
		$sprintIds = [];
		$whens = [];

		foreach ($sortInfo as $sprintId => $info)
		{
			$sprintId = (is_numeric($sprintId) ? (int) $sprintId : 0);
			if ($sprintId)
			{
				$sort = (is_numeric($info['sort']) ? (int) $info['sort'] : 0);
				$sprintIds[] = $sprintId;
				$whens[] = 'WHEN ID = '.$sprintId.' THEN '.$sort;
			}
		}

		if ($sprintIds)
		{
			$expression = new SqlExpression('(CASE '.implode(' ', $whens).' END)');

			EntityTable::updateMulti($sprintIds, [
				'SORT' => $expression
			]);
		}
	}
	catch (Exception $exception)
	{
		$this->errorCollection->setError(
			new Error($exception->getMessage(), self::ERROR_COULD_NOT_CHANGE_SORT)
		);
	}
}