Создание сообщения в сценарии
В данной статье рассмотрим пример создания сообщения пользователю в сценарии.
Пример сценария с использованием PublicAPI
Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.15.38 включительно.
Контекстные переменные:
- context.Poluchatelj – переменная типа Пользователь;
- context.Poljzovatelj – переменная типа Пользователь.
Пространство имен:
using EleWise.ELMA.API;
Текст сценария:
PublicAPI.Portal.Messages.SendMessage("Тема сообщения","Текст сообщения", context.Poluchatelj, context.Poljzovatelj); // Тема сообщения, Текст сообщения, Получатель, Отправитель
Примечание.
Начиная с версии ELMA 3.8 появилась возможность использовать Builder для создания сообщений.
Контекстные переменные:
- context.Poluchatelj – переменная типа Пользователь;
- context.Poljzovatelj – переменная типа Пользователь.
Текст сценария:
PublicAPI.Portal.Messages.MessageBuilder("Тема сообщения").MessageText("Текст сообщения").Recipients(new[] { context.Poluchatelj }).MessageAuthor(context.Poljzovatelj).SendMessage();
Пример сценария без использования PublicAPI
Для корректной работы сценария необходимо подключить сборки:
EleWise.ELMA.Messages
EleWise.ELMA.Documents
Пространство имен:
using EleWise.ELMA.Messages.Models;
using EleWise.ELMA.Model.Services;
Текст сценария:
//создание нового сообщения:
var m = InterfaceActivator.Create<ChannelMessage>();
//добавление в список получателей пользователя, который хранится в переменной context.Poljzovatelj типа Пользователь
m.Recipients.Add(context.Poljzovatelj);
m.Subject = "Тема сообщения";
m.MessageType = ChannelMessageType.Post;
//указание автора сообщения
m.CreationAuthor = context.Poljzovatelj;
//указание даты создания сообщения:
m.CreationDate = DateTime.Now;
//содержание сообщения:
m.FullMessage = "Текст сообщения";
//сохранение сообщения
m.Save();