Хелперы
namespace ITino.ELMA.Common.Helpers
ModelHelper
///
/// Прописано ли свойство в конфигурации
///
/// Метаданные свойства
///
public static bool IsConfigProperty(PropertyMetadata pm)
///
/// Получить Uid значения перечисления
///
/// Значение перечисления
///
public static Guid GetEnumUid(object value)
///
/// Получить отображаемое описание значения перечисления
///
/// Значение перечисления
///
public static string GetEnumDescription(object value)
///
/// Название типа сущности
///
/// Сущность
///
public static string GetEntityDisplayName(IEntity entity)
///
/// Описание типа сущности
///
/// Сущность
///
public static string GetEntityDescription(IEntity entity)
///
/// Проверить наличие элемента справочника и создать при необходимости
///
/// Uid элемента справочника
/// Значения свойств
/// Тип сущности
public static void CheckEntityPresent(Guid uid, object values) where T : IEntity
///
/// Удалить элемент справочника (если есть)
///
/// Uid элемента справочника
/// Тип сущности
public static void RemoveEntityIfPresent(Guid uid) where T : IEntity
ELMA4
///
/// Обрезать часть даты и времени
///
///
///
///
public static DateTime Truncate(this DateTime dateTime, TimeSpan timeSpan)
///
/// Обрезать миллисекунды
///
///
///
public static DateTime TruncateMs(this DateTime dateTime)
ListenerHelper
/// Получить старое значение
/// Тип
/// Событие
/// Название свойства
/// Старое значение
public static T GetOldValue(PostUpdateEvent @event, string propertyName)
/// Получить старое значение
/// Тип
/// Событие
/// Название свойства
/// Старое значение
public static T GetOldValue(PreUpdateEvent @event, string propertyName)
/// Получить значение свойства
/// Тип
/// Событие
/// Название свойства
/// Значение
public static T GetValue(PostUpdateEvent @event, string propertyName)
/// Присвоить значение свойству
/// Событие
/// Название свойства
/// Значение
public static void SetValue(PreUpdateEvent @event, string propertyName, object value)
/// Получить значение свойства
/// Тип
/// Событие
/// Название свойства
/// Значение
public static T GetValue(PostInsertEvent @event, string propertyName)
/// Присвоить значение свойству
/// Событие
/// Название свойства
/// Значение
public static void SetValue(PreInsertEvent @event, string propertyName, object value)
ServerHelper
///
/// Получить среднее время запуска сервера
///
public static string AverageStartTime
///
/// Версия компонентов IEE
///
public static string IEEVersion
///
/// Возвращает признак что система в режиме тестирования
///
public static bool IsTesting
///
/// Перезапустить сервер
///
public static void RestartServer()
///
/// Логгер импорта
///
public static ILog ImportLogger
///
/// Запись в протокол импорта данных в справочник
///
/// Имя справочника
/// Всего записей
/// Новых записей
/// Обновлений
/// Удалений
public static void ImportLogCatalog(string name, int total, int @new = 0, int update = 0, int delete = 0)
///
/// Запись в протокол импорта что данные для справочника отсутствуют
///
/// Имя справочника
public static void ImportLogCatalogNone(string name)
///
/// Время работы сервера
///
///
public static TimeSpan UpTime
///
/// Логгер обновления БД
///
public static ILog DbUpdateLogger
///
/// Логер пакетной обработки
///
public static ILog ProcessLogger
UserHelper
///
/// Системный пользователь
///
public static IUser SystemUser
///
/// Пользователь подсистемы обмена
///
public static IUser ExchangeUser
///
/// Получить непосредственного руководителя для пользователя
///
/// Пользователь
/// Руководитель (если есть, иначе null)
public static IUser GetImmediateChiefByUser(IUser user)
///
/// Получить всех активных пользователей группы
///
/// Строковый Uid группы
/// Список пользователей
public static IEnumerable GetUsersInGroup(string gUidStr)
///
/// Получить всех активных пользователей группы
///
/// Uid группы
/// Список пользователей
public static IEnumerable GetUsersInGroup(Guid gUid)
///
/// Преобразовать полные инициалы в сокращенные
///
/// Полные инициалы
/// Фамилия в начале
/// Сокращенные инициалы
public static string ConvertToShortName(string fullName, bool lastNameOrder = true)
///
/// Входит ли пользователь в группу Администраторы
///
///
public static bool IsAdmin
Только ELMA4
///
/// Отправить push уведомление текущему пользователю
///
/// Заголовок уведомления
/// Сообщение
/// Ссылка в браузере при нажатии
/// Тэг (для группировки)
///
public static bool WebPush(string message, string title = null, string clickUrl = null, string tag = null)
///
/// Отправить push уведомление пользователю
///
/// Пользователь
/// Заголовок уведомления
/// Сообщение
/// Ссылка в браузере при нажатии
/// Тэг (для группировки)
///
public static bool WebPush(IUser user, string message, string title = null, string clickUrl = null, string tag = null)
WorkflowHelper
///
/// Получить запускаемые процессы по входному типу сущности
///
/// UID типа сущности
/// Список процессов Workflow
public static IEnumerable GetStartableProcessesByInputEntity(Guid typeUid)
///
/// Комментарий для процессной задачи
///
/// Uid элемента задачи на схеме
/// Задача
/// Автор комментария
/// Дата комментария
/// Комментарий
/// Тип комментария
public static void CommentForTask(Guid element, ITaskBase task, IUser author, DateTime date, string comment, EOWorkflowTaskCommentType type = EOWorkflowTaskCommentType.Info)
///
/// Сохранить уведомление для последующего показа
///
/// Текст сообщения
/// Тип сообщения
public static void Notify(string message, NotifyType type = NotifyType.Info)
///
/// Убрать замещение у задачи процесса
///
/// Задача процесса
/// Uid задачи на схеме
/// Список игнорируемых пользователей
public static void RemoveReplacement([NotNull] this ITaskBase task, Guid uid, IEnumerable ignoreUsers = null)
///
/// Завершить процесс с выводом ошибки пользователю
///
///
///
public static void CompleteWithError(object context, string error)
///
/// Выполнить длительное действие в отдельном потоке при создании задачи
///
/// Id задачи на диаграмме
/// Созданная задача в OnTaskCreate
/// Действие
public static void ProcessLongAction(Guid element, ITaskBase task, Action action)