[ELMA3] Редактор сущностей: 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. Поле ссылки на другой объект – отображается при настройке свойства типа объект и выбранной связи Многие-ко-многим. Название колонки в таблице связи, в которой будет храниться ссылка на дочерний объект (определяется типом объекта, который указан в типе свойства).
Настройка свойства. Вкладка "Дополнительно"
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>
В ином случае можно самостоятельно написать шаблон. Для включения свойства в шаблон используется запись вида @{Имя свойства}.