private static void CanchelIfNotValidJob(JobMeta job) { var jobIsValid = _validator.ApplyChecks(job); if (jobIsValid == false) { job.CancelJob(); } }
private static void Subscriber(JobMeta job) { var isPaused = job._job.IsSpooling == false && job._job.IsPaused == true; var alreadyProcessedJob = _jobs.Contains(job.Guid) == true; if (isPaused && !alreadyProcessedJob) { _jobs.Add(job.Guid); //ToDo одно задание сюда попадает множество раз. Для предотвращения кроме имени документа нужно генерировать уникальный хэш } else { Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine($"Process aborted: {job._job.JobStatus}"); Console.ForegroundColor = ConsoleColor.White; return; } WriteLogs(job); var jobIsValid = _validator.ApplyChecks(job); if (jobIsValid == false) { job.CancelJob(); } Client client = Auth.GetClient(); var canBePrinted = ClientValidator.CanContinuePrinting(client, job); if (canBePrinted) { RunPrintJob(job._job); } else { job._job.Cancel(); } WriteLogsAboutJobAndClient(job, client, canBePrinted); // RemoveJobIfPaused(job, isPaused); }