Адаптер |
Идентификатор |
Роль |
ERP |
ERP_01 |
Источник |
EAM |
EAM_01 |
Приемник |
Источник ERP
Сопоставление с сущностями ИС адаптера ERP
Основная |
Сущность ИС |
Отслеживать операции |
Полное наименование |
Отключено |
True |
KATORG |
Создание;Изменение;Удаление |
Galaktika.ESB.Adapter.Atlantis.Api.KATORG |
False |
KATORG
Сопоставление
Свойство приложения |
Тип свойства приложения |
Свойство модели |
Тип свойства модели |
Не используется |
CODE |
Свойство |
code |
Свойство |
False |
SHORTNAME |
Свойство |
name |
Свойство |
False |
NAME |
Свойство |
full_name |
Свойство |
False |
UNN |
Свойство |
inn |
Свойство |
False |
OKPO |
Свойство |
okpo |
Свойство |
False |
OGRN |
Свойство |
ogrn |
Свойство |
False |
CORPOIN |
Свойство |
is_part_of_corp |
Свойство |
False |
Условие публикации
// Если операция удаления
if (OperationType == Galaktika.ESB.Contract.TypeStorageOperation.Delete)
{
LogService.Info("Публикация удаления (D---1): org");
return true;
}
// Если операция создания или изменения
// Проверка на существование объекта
if (AppEntity == null)
{
LogService.Error("Условие публикации (D---1): org => AppEntity == null");
return false;
}
// Публикация
if ((AppEntity.CODE != null) && (AppEntity.CODE.Length > 0))
{
LogService.Info("Публикация (D---1): org => NREC = {0}", AppEntity.NREC);
return true;
}
После сопоставления
LogService.Info("После сопоставления (B): org");
// Сессия ESB
ISession Session = context.GetSession(true);
// Получение значения для атрибута «Организации группы»
var prms_avs = new Dictionary<string, object>();
prms_avs.Add("tableName", "KatOrg");
prms_avs.Add("nrec", AppEntity.NREC);
prms_avs.Add("attrName", "Организации группы");
prms_avs.Add("fieldName", "VComp");
prms_avs.Add("info", 0);
var org_gr_Nrec = restier.ExecuteOperation("GetAttrValue", prms_avs).Result.Cast<System.String>().FirstOrDefault();
if (!String.IsNullOrEmpty(org_gr_Nrec))
{
var org_gr = restier.GetAppEntityByKey<Galaktika.ESB.Adapter.Atlantis.Api.SPKAU>(Session, org_gr_Nrec, true);
if (org_gr != null)
{
var org_gr_mainEntityId = locator.GetMainEntityTypeId(typeof(#currentModelNS#.org_gr));
var org_gr_appEntityId = locator.GetAppEntityTypeId(parameters.AdapterId, typeof(Galaktika.ESB.Adapter.Atlantis.Api.SPKAU));
var org_gr_mainEntityKey = locator.GetMainEntityKey(org_gr_appEntityId, org_gr.NREC.ToString(), org_gr_mainEntityId);
MainEntity.org_gr_id = org_gr_mainEntityKey;
}
}
LogService.Info("После сопоставления (E): org");
Генерация мастер-ключа
LogService.Info("Генератор мастер-ключа (B): org => {0}", AppEntity.CODE);
bool res = true;
if (res)
{
return AppEntity.CODE;
}
Приемник EAM
Сопоставление с сущностями ИС адаптера EAM
Основная |
Сущность ИС |
Отслеживать операции |
Полное наименование |
Отключено |
True |
Контрагент |
Не задано |
PromAktiv.Core.CD.Module.Контрагент |
False |
Контрагент
Сопоставление
Свойство приложения |
Тип свойства приложения |
Свойство модели |
Тип свойства модели |
Не используется |
ExternalID |
Свойство |
object_id |
Свойство |
False |
Код |
Свойство |
code |
Свойство |
False |
Наименование |
Свойство |
full_name |
Свойство |
False |
TaxpayerIdentificationNumber |
Свойство |
inn |
Свойство |
False |
IsPartOfCorporation |
Свойство |
is_part_of_corp |
Свойство |
False |
После сопоставления
LogService.Info("После сопоставления (B): org");
// Установка статуса объекта
AppEntity.СтатусОбъекта = Xafari.BC.StatusTypes.Published;
LogService.Info("После сопоставления (E): org");