Creatio development guide
PDF
Это документация Creatio версии 7.16.0. Мы рекомендуем использовать новую версию документации.

Класс EntityMapper

Glossary Item Box

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

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

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

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

Terrasoft.Configuration.EntityMapper

Полный перечень методов класса EntityMapper, его родительских классов, а также реализуемых им интерфейсов можно найти в документации ".NET библиотеки классов ядра платформы".

Методы

Табл. 1. — Основные методы класса EntityMapper

virtual EntityResult GetMappedEntity((Guid recId, MapConfig config))

Возвращает сопоставленные данные для двух объектов Entity.

Параметры:

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

virtual Dictionary<string, object> GetColumnsValues((Guid recordId, MapConfig config, Dictionary<string, object> result))

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

Параметры:

  • recordId — GUID записи в базе данных;
  • config — экземпляр класса MapConfig, представляющий из себя набор правил сопоставления;
  • result — словарь колонок и их значений уже сопоставленной сущности.

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 записи в базе.

Terrasoft.Configuration.EntityResult

Полный перечень свойств класса EntityResult, его родительских классов, а также реализуемых им интерфейсов можно найти в документации ".NET библиотеки классов ядра платформы".

Свойства

Табл. 2. — Основные свойства класса EntityResult

Columns
Dictionary<string, object>

Словарь с названиями колонок основной сущности и их значениями.


Details
Dictionary<string, List<Dictionary<string, object>>>

Словарь названий деталей со списком их колонок и значений.


Terrasoft.Configuration.MapConfig

Полный перечень свойств класса MapConfig, его родительских классов, а также реализуемых им интерфейсов можно найти в документации ".NET библиотеки классов ядра платформы".

Свойства

Табл. 3. — Основные свойства класса MapConfig

SourceEntityName
string

Название сущности в БД.


Columns
Dictionary<string, object>

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


DetailsConfig
List<DetailMapConfig>

Список конфигурационных объектов с правилами для деталей.


CleanDetails
List<string>

Список названий деталей для очистки их значений.


RelationEntities
List<RelationEntityMapConfig>

Список конфигурационных объектов с правилами сопоставления связанных записей с главной сущностью.


Terrasoft.Configuration.DetailMapConfig

Полный перечень свойств класса DetailMapConfig, его родительских классов, а также реализуемых им интерфейсов можно найти в документации ".NET библиотеки классов ядра платформы".

Свойства

Табл. 4. — Основные свойства класса DetailMapConfig

DetailName
string

Название детали (для обеспечения уникальности экземпляра детали).


SourceEntityName
string

Название сущности в базе данных.


Columns
Dictionary<string, object>

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


Filters
List<EntityFilterMap>

Список конфигурационных объектов с правилами фильтрации для более точных выборок из базы данных.


RelationEntities
List<RelationEntityMapConfig>

Список конфигурационных объектов с правилами сопоставления связанных записей с главной сущностью.


Terrasoft.Configuration.RelationEntityMapConfig

Полный перечень свойств класса RelationEntityMapConfig, его родительских классов, а также реализуемых им интерфейсов можно найти в документации ".NET библиотеки классов ядра платформы".

Свойства

Табл. 5. — Основные свойства класса RelationEntityMapConfig

ParentColumnName
string

Название родительской колонки, при нахождении которой будет срабатывать логика получения и сопоставления данных по сущности.


SourceEntityName
string

Название сущности в базе данных.


Columns
Dictionary<string, object>

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


Filters
List<EntityFilterMap>

Список конфигурационных объектов с правилами фильтрации для более точных выборок из базы данных.


RelationEntities
List<RelationEntityMapConfig>

Список конфигурационных объектов с правилами сопоставления связанных записей с главной сущностью.


Terrasoft.Configuration.EntityFilterMap

Полный перечень свойств класса EntityFilterMap, его родительских классов, а также реализуемых им интерфейсов можно найти в документации ".NET библиотеки классов ядра платформы".

Свойства

Табл. 6. — Основные свойства класса EntityFilterMap

ColumnName
string

Название колонки, при нахождении которой будет срабатывать логика фильтрации.


Value
object

Значение, с которым необходимо сравнение.


© Terrasoft 2002-2020.

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

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