コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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));
        }
コード例 #3
0
        /// <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);
            }
        }
コード例 #4
0
        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);
        }