ModuleJobs.cs 1.05 KB
using System;
using System.Collections.Generic;
using System.Linq;
using Sungero.Core;
using Sungero.CoreEntities;

namespace DirRX.DciCore.Server
{
  public class ModuleJobs
  {

    /// <summary>
    /// ФП запускает АО для отправки изменений из RX в DCI.
    /// </summary>
    public virtual void SendEntitiesToDciSynchronization()
    {
      
      var activeProcessKinds = DciProcessKinds.GetAll()
        .Where(x => x.Status == Sungero.CoreEntities.DatabookEntry.Status.Active)
        .Where(x => x.ProcessType == DciCore.DciProcessKind.ProcessType.DataSync || x.ProcessType == DciCore.DciProcessKind.ProcessType.DocSync);

      foreach (var processKind in activeProcessKinds)
      {
        var asyncHandler = DciCore.AsyncHandlers.SendProcessMessage.Create();
        asyncHandler.IdProcessKind = processKind.Id;
        asyncHandler.NameProcessKind = processKind.Name;
        asyncHandler.ExecuteAsync();
      }
      
      // TODO нет обработки ошибок
      // TODO нет логов
    }

  }
}