Show / Hide Table of Contents

Получение объекта

get-object.md

В данной постобработке пользователь может переопределять получение целевого объекта из прикладной системы, на который мапируется каноническая сущность. Созданный объект необходимо возвращать в поле Result.CreatedObject. Если пользователь не хочет, чтобы для созданного объекта были выполнены мапирования полей, а также предобработка и постобработка преобразования, то он должен установить флаг Result.CreationHandled = true. Пример:

var xafSession = ((Galaktika.ESB.Adapter.XAF.XafSession)Session).ObjectSpace as DevExpress.ExpressApp.Xpo.XPObjectSpace;
Galaktika.PRM.ATP.Module.БазовыйДокументУчета doc = null;
if (!String.IsNullOrEmpty(MainEntity.doc_id))
{
  var doc_mainEntityTypeId = locator.GetMainEntityTypeId(typeof(#currentModelNS#.doc_002_01));
  var doc_appEntityTypeId = locator.GetAppEntityTypeId(parameters.AdapterId, typeof(Galaktika.PRM.ATP.Module.ПолучениеВПроизводстве));
  var doc_appEntityKey = locator.GetExistAppEntityKey(doc_mainEntityTypeId, MainEntity.doc_id, doc_appEntityTypeId);
  Guid doc_oid;
  var isParse = Guid.TryParse(doc_appEntityKey, out doc_oid);
    if (isParse)
    doc = xafSession.FindObject<Galaktika.PRM.ATP.Module.ПолучениеВПроизводстве>(
      DevExpress.Data.Filtering.CriteriaOperator.Parse("Oid = ?", doc_appEntityKey));
}
if (doc == null)
  Result.CreationHandled = true; 
else
{    
  if (doc is Galaktika.PRM.ATP.Module.ПолучениеВПроизводстве)
    if (doc.ВышестоящийДокумент != null)
      doc = doc.ВышестоящийДокумент;
  var barCode = new Galaktika.Core.Module.BarCode.BarCode(xafSession.Session, doc);
  barCode.Code = MainEntity.bcode; 
  Result.CreatedObject = barCode;
}

Сгенерированный код попадает в файл MI__CAEG.cs.

  • Improve this Doc
In This Article
Back to top Все права защищены (C) 1994-2022 ООО Топ Софт.