logo

[ELMA3] Создание события из процесса с помощью сценария

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

Пример сценария с использованием PublicAPI

Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Контекстные переменные:
  • context.Poljzovateli – переменная типа Пользователь, тип связи – Список;
  • context.DataNachala – переменная типа Дата/Время;
  • context.DataOkonchaniya – переменная типа Дата/Время.

Пространство имен:

using EleWise.ELMA.API;
Текст сценария:
PublicAPI.Portal.CalendarEvent.Create(context.Poljzovateli, context.DataNachala.Value, context.DataOkonchaniya.Value, "Тема", "Место");

Пример сценария без использования PublicAPI

Для работы сценария необходимо подключить сборки:

Elewise.ELMA.Documents
Elewise.ELMA.Calendar

Пространства имен:

using EleWise.ELMA.Calendar.Models;
using EleWise.ELMA.Security.Services;
using EleWise.ELMA.Model.Services;

Текст сценария:

var evnt =  InterfaceActivator.Create<CalendarEvent>(); //создаем новое событие
evnt.CreationDate=DateTime.Now; //дата создания
evnt.CreationAuthor=AuthenticationService.GetCurrentUser<EleWise.ELMA.Security.Models.User>(); //автор - Текущий пользователь
evnt.Description="Описание события";
var user= InterfaceActivator.Create <CalendarEventUser>(); //Создаем участника события
foreach (var element in context.Poljzovateli) {     
var user = InterfaceActivator.Create<CalendarEventUser> (); //Создаем участника события
user.User = element; //Записываем участника из контекстной переменной типа Пользователь
evnt.EventUsers.Add (user); //добавляем участника в событие
}
evnt.Subject="Тема"; evnt.StartDate=context.DataNachala.Value; //дата начала evnt.Place="Место"; evnt.EndDate=context.DataOkonchaniya.Value;//дата окончания evnt.Save();