logo

Подписание пользователя на рассылку об изменениях документа в сценарии

Подписать пользователя на рассылку об изменениях документа можно с помощью приведенного ниже сценария.

Пример сценария с использованием 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 хранит интересующий документ.