using System; using System.Collections.Generic; using System.IO.Abstractions; using BO.ProcessServer.Business.StatisticCounters; using BO.ProcessServer.Options; using Connector.PS; using Quadarax.Foundation.Core.Json; namespace BO.ProcessServer.Business.Workers.Contexts { internal class ProcessingDocumentsCtx : CfgCtx { public IList Processes { get; } public IConnectionPS Connection { get; set; } public IFileSystem FileSystem { get; set; } public DateTime LastMonitorStatusWrite { get; set; } public Binder Binder { get; } public ProcessingDocumentsCtx(Configuration configuration,IList processes,IConnectionPS connection, IFileSystem fileSystem, Statistics statistics, Pool pool) : base(configuration, statistics, pool) { Processes = processes ?? throw new ArgumentNullException(nameof(processes)); Connection = connection ?? throw new ArgumentNullException(nameof(connection)); FileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); LastMonitorStatusWrite = DateTime.Now; Binder = new Binder(FileSystem); } } }