Редактор сущностей: ELMA Entity

Описание типа объекта хранится в файле с расширением *.md. Тип объекта является наследником класса, где T - тип идентификатора объекта. Редактор для ELMA Entity имеет 4 вкладки: Общие, Свойства, Дополнительные, Документация.

Вкладка "Общие"



Отображаемое имя –  используется для отображения названия типа. Является обязательным для заполнения. Это поле является локализуемым.

Описание – описание типа объекта. Поле является локализуемым.

Имя класса – имя класса, описывающего тип объекта. В результате настройки типа объекта в системе будет сгенерирован класс, значение данного поля будет использовано в качестве имени этого класса.

Таблица в базе данных – имя таблицы в БД, в которую будет происходить сохранение объектов описываемого типа. 
 

Вкладка "Свойства"


Создание, редактирование и удаление свойств объекта. Каждое свойство имеет перечень атрибутов.
 

Настройка свойства. Вкладка "Общие"



 1. Отображаемое имя – поле используется при отображение названия свойства. Является обязательным для заполнения. Это поле является локализуемым.

2. ТипТипы могут быть как простыми так и объектами других типов. Является обязательным для заполнения. В зависимости от выбранного типа определяются дополнительные настройки для поля:

  • Да/Нет:
    • Значение по умолчанию – значение, которое будет присвоено свойству при создании объекта.
  • Дата/Время:
    • Значение по умолчанию – значение, которое будет присвоено свойству при создании объекта;
    • Показывать дату – показывать и давать редактировать дату на форме создания объекта;
    • Показывать время – показывать и давать редактировать время на форме создания объекта.
  • Дробное число:
    • Значение по умолчанию – значение, которое будет присвоено свойству при создании объекта.
  • Строка:
    • Значение по умолчанию – значение, которое будет присвоено свойству при создании объекта.
    • Несколько строк – на форме редактирования будет <input type="text"> (однострочное поле) или <textarea>(многострочное поле).
    • Является наименованием – значение этого поля будет использоваться в качестве наименования объекта.
  • Уникальный идентификатор (GUID):
    • Значение по умолчанию – значение, которое будет присвоено свойству при создании объекта.
  • Целое число:
    • Значение по умолчанию – значение, которое будет присвоено свойству при создании объекта.
  • Целое число (16 бит):
    • Значение по умолчанию – значение, которое будет присвоено свойству при создании объекта.
  • Целое число (32 бит):
    • Значение по умолчанию – значение, которое будет присвоено свойству при создании объекта.
  • Дата\Время (Диапазон):
    • Показывать дату – показывать и давать редактировать дату на форме создания объекта;
    • Показывать время – показывать и давать редактировать время на форме создания объекта.
  • Любой объект:
    • Тип связи – определяет, каким образом связаны объекты. Может принимать следующие значения:
      • Одиночная – связь 1–1 или N–1;
      • Множественная (1–N);
      • Многие-ко-многим (N–N).
    • Ключевая колонка. Если выбрана связь 1–N, нужно указать поле, по которому будет происходить join дочернего объекта.

3. Обязательно для заполнения – если свойство установлено в true, то при вводе свойства на форме будет проверяться обязательность его заполнения.

4. Описание – подробное описание свойства.

5. Имя свойства – значение поля используется для генерации свойства класса. Должна удовлетворять правилам для наименования свойств в C#.

6. Имя поля в БД – имя колонки в БД для хранения значения описываемого свойства. При вводе проверяется на соответствие правилам именования столбцов в СУБД.

7. Таблица связи – отображается при настройке свойства типа объект и выбранной связи Многие-ко-многим. Атрибут содержит имя таблицы, в которой будет храниться связь родительского объекта (тот, для которого создается свойство) и дочернего объекта (определяется типом объекта, который указан в типе свойства).

8. Поле ссылки на данный объект отображается при настройке свойства типа Объект и выбранной связи Многие-ко-многим. Название колонки в таблице связи, в которой будет храниться ссылка на настраиваемый объекта.

9. Поле ссылки на другой объект – отображается при настройке свойства типа объект и выбранной связи Многие-ко-многим. Название колонки в таблице связи, в которой будет храниться ссылка на дочерний объект (определяется типом объекта, который указан в типе свойства).

Настройка свойства. Вкладка "Дополнительно"



1. Участвует в быстром поиске – если true, то значение данного свойства будет учитывается при выполнение быстрого поиска.

2. Участвует в поиске (фильтре) – если true, то в фильтре для сущности будет сгенерировано поле для ввода ограничений по этом свойству. Значение данное поле будет учитываться в процессе поиска по фильтру.

3. Показывать в таблице – если true, то данное свойство будет по умолчанию видимо при отображениии списка объектов (в табличном виде, используя DefaultColumns()).

4. Тип вычисления значения – определяет способ вычисления значения для вычисляемого свойства.

5. Дополнительные настройки по типам свойств:

  • Дата/Время:
    • Обработчики. Доступные значения: Дата создания и Дата изменения. Используется для автоматического проставления даты создания и даты изменения объекта в настраиваемое свойство.
    • Установить текущую – если true, то в конструкторе в данное свойство установится дата создания объекта.
    • Ограничения – устанавливается допустимое минимальное и максимальное значение для свойства. Проверяется на форме ввода свойства.
  • Дробное число:
    • Точность – число знаков после запятой. Учитывается в контроле ввода дробного числа.
    • Минимальное и максимальное значение – устанавливается допустимое минимальное и максимальное значение для свойства. Проверяется на форме ввода свойства.
  • Строка:
    • Длина – накладывается ограничение на длину вводимой строки. Учитывается в контроле ввода строки.
    • Регулярное выражение – служит для ограничения вводимой строки по регулярному выражению. Например ограничения для ввода адреса электронной почты выглядит так:

(([0-9a-z][.\-\w]*)@((?:[0-9a-z][\-0-9a-z]*[0-9a-z]\.)+[a-z]{2,6}))|^$

  • Целое число:
    • Минимальное и максимальное значение – устанавливается допустимое минимальное и максимальное значение для свойства. Проверяется на форме ввода свойства.
  • Целое число(16 бит): 
    • Минимальное и максимальное значение – устанавливается допустимое минимальное и максимальное значение для свойства. Проверяется на форме ввода свойства.
  • Целое число(32 бит):
    • Минимальное и максимальное значение – устанавливается допустимое минимальное и максимальное значение для свойства. Проверяется на форме ввода свойства.
  • Любой тип объекта:
    • Каскадное обновление – возможные варианты значения:
      • Сохранение изменений (каскадное изменение сохранений –  Cascade.SaveUpdate());
      • Удаление и сохранение изменений (каскадное изменение и удаление – Cascade.All()).
    • Обработчики – поле доступно, если тип объекта Пользователь:
      • Автор создания – при сохранении нового объекта будет автоматически прописан текущий пользователь.
      • Автор последнего изменения – при сохранении существующего объекта прописывается текущий пользователь.

Настройка свойства. Вкладка "Документация"

Для формирования документации по коду используется стандартный механизм документирующих комментариев. Синтаксис - http://msdn.microsoft.com/ru-ru/library/b2s063f7.aspx. Если установлен флажок Использовать отображаемое имя и описание для документации, то для генерации документации по типу объекта используется шаблон:

 ?

1
2
3
4
5
6
<span style="color: #333333;"><summary>
@{DisplayName}
</summary>
<remarks>
@{Description}
</remarks></span>

В ином случае можно самостоятельно написать шаблон. Для включения свойства в шаблон используется запись вида @{Имя свойства}.

Вкладка "Дополнительные"


 Базовый класс – указывается базовый клас для настраиваемого тип объекта.

Тип идентификатора – тип PRIMARY KEY для объекта.

Разрешать создание наследников – если false, то настраиваемый тип объекта не может быть базовым классом для других типов.

Хранить историю изменения – если true, при изменении свойств объекта, настраиваемого типа, в отдельную таблицу БД будет сохраняться история производимых изменений.

Показывать в списке справочников  если true, данный тип объекта отображается в дереве справочников.

Показывать в дереве типов – если true, то тип видно в дереве типов системы (если тип системный, то установить в false).

Генерировать фильтр – если true, то для настраиваемого типа генерируется класс фильтра. Поля фильтра формируются по свойствам типа объекта. В фильтр попадают только те свойства, которые помечены как участвующие в фильтр. Для чисел и дат формируются свойства-интервал (с мин. значаения по макс. значение).
 

Вкладка "Документация"

Для формирования документации по коду используется стандартный механизм документирующих комментариев. Синтаксис - http://msdn.microsoft.com/ru-ru/library/b2s063f7.aspx. Если установлен флажок Использовать отображаемое имя и описание для документации, то для генерации документации по типу объекта используется шаблон:

 

<summary>
@{DisplayName}
</summary>
<remarks>
@{Description}
</remarks>

В ином случае можно самостоятельно написать шаблон. Для включения свойства в шаблон используется запись вида @{Имя свойства}.