Esempio n. 1
0
        /// <summary>
        /// Найти скан документа.
        /// </summary>
        /// <param name="findModel">Запись перечня.</param>
        /// <param name="folder">Папка для поиска.</param>
        /// <param name="isAct">Является ли искомы документ актом</param>
        public static void FindAndSetScan(IMatchingResult findModel, string folder, bool isAct = false)
        {
            if (!Directory.Exists(folder))
            {
                return;
            }
            var filePathes = Directory.GetFiles(folder);

            findModel.ScanFileNameVariants = filePathes;

            foreach (var filePath in filePathes)
            {
                var fileName = Path.GetFileNameWithoutExtension(filePath);
                if (isAct && fileName.Contains("ИС"))
                {
                    continue;
                }

                var findFileName = GetDigitsFromText(fileName);
                if (string.IsNullOrEmpty(findFileName))
                {
                    continue;
                }
                string findDocNumber = GetDigitsFromText(findModel.DocNumber);
                if (findFileName.Contains(findDocNumber) || findDocNumber.Contains(findFileName))
                {
                    SetScanFile(findModel, filePath);
                    SetNewDocName(findModel);
                    SetNewFileName(findModel);
                }
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Назначить новый файл со сканом.
 /// </summary>
 /// <param name="matchingResult">Модель данных.</param>
 /// <param name="scanFilePath">Имя файла.</param>
 public static void SetScanFile(IMatchingResult matchingResult, string scanFilePath)
 {
     matchingResult.ScanFileName  = scanFilePath;
     matchingResult.FileExtension = Path.GetExtension(scanFilePath);
     if (string.IsNullOrEmpty(matchingResult.NewDocName))
     {
         matchingResult.NewDocName = Path.GetFileNameWithoutExtension(scanFilePath);
         SetNewFileName(matchingResult);
     }
 }
Esempio n. 3
0
        /// <summary>
        /// Установить новое имя файла.
        /// </summary>
        /// <param name="matchingResult"></param>
        public static void SetNewFileName(IMatchingResult matchingResult)
        {
            var newFileName = $"Стр. {matchingResult.PageNumber}. " +
                              $"{matchingResult.NewDocName}" +
                              $"{matchingResult.FileExtension}";

            var invalidChars = Path.GetInvalidFileNameChars();

            foreach (char c in invalidChars)
            {
                newFileName = newFileName.Replace(c, '_');
            }
            matchingResult.NewFileName = newFileName;
        }
Esempio n. 4
0
        /// <summary>
        /// Установить новое имя документа.
        /// </summary>
        /// <param name="matchingResult"></param>
        /// <param name="scanFilePath"></param>
        public static void SetNewDocName(IMatchingResult matchingResult)
        {
            var newDocName = DocNameDictionaryService.GetShortName(matchingResult.DocName);

            if (!string.IsNullOrEmpty(newDocName))
            {
                matchingResult.NewDocName = newDocName + " № " + matchingResult.DocNumber;
            }
            else
            {
                var scanFilePath = matchingResult.ScanFileName;
                if (scanFilePath == null)
                {
                    return;
                }
                matchingResult.NewDocName = Path.GetFileNameWithoutExtension(scanFilePath);
            }
        }