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

namespace DirRX.CaseArchiving.Server
{
  public class ModuleJobs
  {
    /// <summary>
    /// Сформировать описи электронных дел.
    /// </summary>
    public virtual void CreateCaseInventories()
    {
      Logger.Debug("Job. CreateCaseInventories. Старт");
      
      var year = Calendar.Now.Year;
      var caseFiles = PublicFunctions.Module.Remote.GetCaseFiles(DirRX.LongTermArchive.CaseFile.LTAStageDirRX.CompletedDirRX);
      
      caseFiles = caseFiles.Where(x => (x.StartDate.HasValue ? x.StartDate.Value.Year : 0) <= year && (x.EndDate.HasValue ? x.EndDate.Value.Year : 5000) >= year);
      
      var isCreateByDepartments = PublicFunctions.Module.Remote.IsCreateCaseInventoryByDepartments();
      if (isCreateByDepartments)
        caseFiles = caseFiles.Where(x => x.Department != null);

      PublicFunctions.Module.Remote.CreateCaseInventories(year, caseFiles.ToList(), null);
    }

  }
}