logo

Создание сообщения в сценарии

В данной статье рассмотрим пример создания сообщения пользователю в сценарии.

Пример сценария с использованием 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();