Creatio development guide
PDF
Документация по разработке
Описание платформы

Класс Terrasoft.Configuration.EntityMapper

Glossary Item Box

Общие сведения

Класс Terrasoft.Configuration.EntityMapper — это утилитный класс конфигурации, который находится в пакете [FinAppLending] продукта Lending. EntittyMapper позволяет сопоставлять данные одной сущности (Entity) с другой по правилам, определенным в конфигурационном файле. Использование подхода сопоставления данных разных сущностей позволяет избежать появления однообразного кода.

Идея сопоставления данных разных сущностей реализована в следующих классах:

  • EntityMapper — реализует логику сопоставления.
  • EntityResult — определяет в каком виде вернется сопоставленная сущность.
  • MapConfig — представляет набор правил для сопоставления.
  • DetailMapConfig — используется для установки списка правил сопоставления деталей и связанных с ними сущностей.
  • RelationEntityMapConfig — содержит правила для сопоставления связанных сущностей.
  • EntityFilterMap — представляет из себя фильтр для запроса в базу данных.

Terrasoft.Configuration.EntityMapper

Табл. 1. — Описание методов класса Terrasoft.Configuration.EntityMapper

Название Параметры Возвращаемое значение Описание
public virtual EntityResult GetMappedEntity(Guid recId, MapConfig config)

recId — GUID записи в базе данных;

config — экземпляр класса MapConfig, представляющий из себя набор правил сопоставления.

Экземпляр класса EntityResult, представляющего из себя сопоставленные данные для двух объектов Entity. Возвращает сопоставленные данные для двух объектов Entity.
public virtual Dictionary<string, object> GetColumnsValues(Guid recordId, MapConfig config, Dictionary<string, object> result)

recordId — GUID записи в базе данных;

config — экземпляр класса MapConfig, представляющий из себя набор правил сопоставления;

result — словарь колонок и их значений уже сопоставленной сущности.

Словарь колонок и их значений. Получает из базы данных главную сущность и сопоставляет ее колонки и значения по правилам, указанным в объекте config.
public virtual Dictionary<string, object> GetRelationEntityColumnsValues(List<RelationEntityMapConfig> relations, Dictionary<string, object> dictionaryToMerge, string columnName, Terrasoft.Nui.ServiceModel.DataContract.LookupColumnValue entitylookup)

relations — список правил для получения связанных записей;

dictionaryToMerge — словарь с колонками и их значениями;

columnName — название родительской колонки;

entitylookup — объект, содержащий название и Id записи в базе.

Словарь колонок и их значений. Получает из базы данных связанные сущности и сопоставляет их с основными сущностями.
protected virtual EntitySchemaQuery SetColumns(EntitySchemaQuery esq, Dictionary<string, string> columns)

esq — экземпляр EntitySchemaQuery;

columns — словарь названий сопоставляемых колонок.

Экземпляр класса EntitySchemaQuery. Устанавливает колонки для выбора из базы данных.
protected EntitySchemaQuery SetFilters(EntitySchemaQuery esq, List<EntityFilterMap> filters)

esq — экземпляр EntitySchemaQuery;

filters — список устанавливаемых фильтров.

Экземпляр класса EntitySchemaQuery. Устанавливает фильтры на сущности для выбора записей из базы данных.
protected virtual Dictionary<string, List<Dictionary<string, object>>> GetDetailsColumnsValues(Guid recId, MapConfig config, Dictionary<string, List<Dictionary<string, object>>> result)

recId — GUID записи в базе данных;

config — экземпляр класса MapConfig, представляющий из себя набор правил сопоставления;

result — словарь колонок и их значений уже сопоставленной сущности.

Словарь деталей, колонок деталей и значений колонок. Получает из базы данных сущность и сопоставляет ее колонки и значения по правилам, указанным в объекте config.

Terrasoft.Configuration.EntityResult

Используется как контейнер для возврата сопоставленных значений.

Табл. 2. — Описание основных свойств класса Terrasoft.Configuration.EntityResult

Свойство Тип Описание
Columns Dictionary<string, object> Словарь с названиями колонок основной сущности и их значениями.
Details Dictionary<string, List<Dictionary<string, object>>> Словарь названий деталей со списком их колонок и значений.

Terrasoft.Configuration.MapConfig

Используется для установки списка правил сопоставления основной сущности, деталей и их связанных сущностей.

Табл. 3. — Описание основных свойств класса Terrasoft.Configuration.MapConfig

Свойство Тип Описание
SourceEntityName string Название сущности в БД.
Columns Dictionary<string, object> Словарь с названиями колонок одной сущности и сопоставляемыми колонками другой сущности.
DetailsConfig List<DetailMapConfig> Список конфигурационных объектов с правилами для деталей.
CleanDetails List<string> Список названий деталей для очистки их значений.
RelationEntities List<RelationEntityMapConfig> Список конфигурационных объектов с правилами сопоставления связанных записей с главной сущностью.

Terrasoft.Configuration.DetailMapConfig

Используется для установки списка правил сопоставления деталей и связанных с ними сущностей.

Табл. 4. — Описание основных свойств класса Terrasoft.Configuration.DetailMapConfig

Свойство Тип Описание
DetailName string Название детали (для обеспечения уникальности экземпляра детали).
SourceEntityName string Название сущности в базе данных.
Columns Dictionary<string, object> Словарь с названиями колонок одной сущности и сопоставляемыми колонками другой сущности.
Filters List<EntityFilterMap> Список конфигурационных объектов с правилами фильтрации для более точных выборок из базы данных.
RelationEntities List<RelationEntityMapConfig> Список конфигурационных объектов с правилами сопоставления связанных записей с главной сущностью.

Terrasoft.Configuration.RelationEntityMapConfig

Содержит правила для сопоставления связанных сущностей.

Табл. 5. — Описание основных свойств класса Terrasoft.Configuration.RelationEntityMapConfig

Свойство Тип Описание
ParentColumnName string Название родительской колонки, при нахождении которой будет срабатывать логика получения и сопоставления данных по сущности.
SourceEntityName string Название сущности в базе данных.
Columns Dictionary<string, object> Словарь с названиями колонок одной сущности и сопоставляемыми колонками другой сущности.
Filters List<EntityFilterMap> Список конфигурационных объектов с правилами фильтрации для уточнения выборок из базы данных.
RelationEntities List<RelationEntityMapConfig> Список конфигурационных объектов с правилами сопоставления связанных записей с главной сущностью.

Terrasoft.Configuration.EntityFilterMap

Класс, представляющий из себя фильтр для запроса в базу данных.

Табл. 5. — Описание основных свойств класса Terrasoft.Configuration.EntityFilterMap

Свойство Тип Описание
ColumnName string Название колонки, при нахождении которой будет срабатывать логика фильтрации
Value object Значение, с которым необходимо сравнение.

© Terrasoft 2002-2019.

Был ли данный материал полезен?

Как можно улучшить эту статью?