[ELMA3] Подписание пользователя на рассылку об изменениях документа в сценарии
Подписать пользователя на рассылку об изменениях документа можно с помощью приведенного ниже сценария.
Пример сценария с использованием PublicAPI
Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.15.38 включительно.
Контекстные переменные:
context.User - переменная типа Пользователь;
context.Document - переменная типа Документ.
Пространство имен:
using EleWise.ELMA.API;
Текст сценария:
PublicAPI.Services.WatchEntity.CreateWatchByUser(context.Document.TypeUid, context.Document.Id, context.User);
Пример сценария без использования PublicAPI
Для корректной работы сценария необходимо подключить пространства имен:
using EleWise.ELMA.Common.Managers;
using EleWise.ELMA.Model.Common;
using EleWise.ELMA.Model.Entities;
using EleWise.ELMA.Model.Managers;
using EleWise.ELMA.Model.Metadata;
using EleWise.ELMA.Model.Types.Settings;
Текст сценария://загрузка типа документа
var metadata = MetadataLoader.LoadMetadata(context.Dokument.GetType());
//проверка на наличие слежений этого пользователя за этим документом
if (WatchManager.Instance.GetWatchByUser(metadata.Uid, context.User.Id, context.Document.Id).Count == 0)
{
//создание нового слежения, если подписок нет WatchManager.Instance.CreateWatchByUser(metadata.Uid, context.Document.Id, context.User);
}
Контекстная переменная context.User имеет тип Пользователь и содержит пользователя, которого нужно подписать на рассылку, а переменная context.Document хранит интересующий документ.