Подписание пользователя на рассылку об изменениях документа в сценарии
Подписать пользователя на рассылку об изменениях документа можно с помощью приведенного ниже сценария.
Пример сценария с использованием PublicAPI
Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.12.1 включительно.
Контекстные переменные:
context.Poljzovatelj - переменная типа Пользователь;
context.Dokument - переменная типа Документ.
Пространство имен:
1 | using EleWise.ELMA.API; |
Текст сценария:
1 | PublicAPI.Services.WatchEntity.CreateWatchByUser(context.Dokument.TypeUid, context.Dokument.Id, context.Poljzovatelj); |
Пример сценария без использования PublicAPI
Для корректной работы сценария необходимо подключить пространства имен:
1 2 3 4 5 6 | 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; |
1 2 3 4 5 6 7 8 | //загрузка типа документа var metadata = MetadataLoader.LoadMetadata(context.Dokument.GetType()); //проверка на наличие слежений этого пользователя за этим документом if (WatchManager.Instance.GetWatchByUser(metadata.Uid, context.Poljzovatelj.Id, context.Dokument.Id).Count == 0) { //создание нового слежения, если подписок нет WatchManager.Instance.CreateWatchByUser(metadata.Uid, context.Dokument.Id, context.Poljzovatelj); } |
Контекстная переменная context.Poljzovatelj имеет тип Пользователь и содержит пользователя, которого нужно подписать на рассылку, а переменная context.Dokument хранит интересующий документ.