• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Link/Reminder/ReminderService.php
  • Класс: BitrixImV2LinkReminderReminderService
  • Вызов: ReminderService::addMessageToReminders
public function addMessageToReminders(Message $message, DateTime $dateRemind): Result
{
	$result = new  Result();

	if ($dateRemind->getTimestamp() < (new DateTime())->getTimestamp())
	{
		return $result->addError(new ReminderError(ReminderError::DATE_REMIND_PASSED));
	}

	$reminder = ReminderItem::createFromMessage($message, $this->getContext())->setDateRemind($dateRemind);
	$saveResult = $this->saveReminder($reminder);

	if (!$saveResult->isSuccess())
	{
		return $result->addErrors($saveResult->getErrors());
	}

	$pushRecipient = ['RECIPIENT' => [$this->getContext()->getUserId()]];

	Push::getInstance()
		->setContext($this->context)
		->sendFull($reminder, static::ADD_REMINDERS_EVENT, $pushRecipient)
	;

	return $result;
}