ExternalSystemHandlers.cs
1.69 KB
using System;
using System.Collections.Generic;
using System.Linq;
using Sungero.Core;
using Sungero.CoreEntities;
using DirRX.Storage.ExternalSystem;
namespace DirRX.Storage
{
partial class ExternalSystemServerHandlers
{
public override void AfterSave(Sungero.Domain.AfterSaveEventArgs e)
{
// Создать обязательные справочники для синхронизации с системой-источником.
if (e.Params.Contains(Storage.Constants.ExternalSystem.CreateRequiredExternalEntitiesKey))
{
e.Params.Remove(Storage.Constants.ExternalSystem.CreateRequiredExternalEntitiesKey);
Functions.ExternalSystem.CreateRequiredExternalEntity(_obj, Constants.Module.EntityType.DocumentKind);
Functions.ExternalSystem.CreateRequiredExternalEntity(_obj, Constants.Module.EntityType.BusinessUnit);
Functions.ExternalSystem.CreateRequiredExternalEntity(_obj, Constants.Module.EntityType.Department);
Functions.ExternalSystem.CreateRequiredExternalEntity(_obj, Constants.Module.EntityType.FileRetentionPeriod);
Functions.ExternalSystem.CreateRequiredExternalEntity(_obj, Constants.Module.EntityType.CaseFile);
}
}
public override void Saving(Sungero.Domain.SavingEventArgs e)
{
_obj.Name = _obj.SourceUid;
// Сразу после первого сохранения запустить создание обязательных справочников исходной системы (в событии "После сохранения").
if (_obj.State.IsInserted)
e.Params.Add(Storage.Constants.ExternalSystem.CreateRequiredExternalEntitiesKey, true);
}
}
}