/// <summary> /// Добавляет файл, который можно напечатать. /// </summary> /// <param name="fileName">Имя файла, если присутствует путь к файлу, он будет обрезан.</param> public static void Add(string fileName, AboutPagesOfDocument pages) { _filesThatWaitPrinting = new List <string>(); string fileNameWithourtPath = Path.GetFileName(fileName); string fileId = $"{fileName} {pages.ToString()}"; _filesThatWaitPrinting.Add(fileId); }
/// <summary> /// Истина, если содержится описание указанного файла. /// </summary> /// <param name="fileName"></param> /// <param name="pages"></param> /// <returns></returns> public static bool Contains(string fileName, AboutPagesOfDocument pages) { if (!_filesThatWaitPrinting.Any()) { return(false); } string fileNameWithourtPath = Path.GetFileName(fileName); string fileId = $"{fileName} {pages.ToString()}"; return(_filesThatWaitPrinting.Contains(fileId)); }
/// <summary> /// Удаляет информацию о файле, который нужно напечатать. После удаления запись безвозратно удаляется и возвращается истина. /// </summary> /// <param name="fileName"></param> /// <param name="pages"></param> /// <returns>Истина если запись успешно удалена, то есть она существовала - была добавлена на ожидание печати..</returns> public static bool Remove(string fileName, AboutPagesOfDocument pages) { string fileId = $"{fileName} {pages.ToString()}"; if (Contains(fileName, pages)) { _filesThatWaitPrinting.Remove(fileId); return(true); } else { return(false); } }
private bool CheckFileForPrintWaiting(PrintEventArgs p) { var fileName = p.EventData.FileName; var fileId = AboutPagesOfDocument.ToString(p.EventData.JobDetail.JobInfo2.TotalPages, p.EventData.JobDetail.DevMode.dmCopies); var isExistsFileWaitingForPrint = FilesWaitsPrinting.Remove(fileId); if (!isExistsFileWaitingForPrint) { _logger.Debug("Такой файл не ожидает печати"); return(false); } return(true); }