Beispiel #1
0
        public void MoveFile(object source, FileSystemEventArgs e)
        {
            var config = (CustomConfigurationSection)ConfigurationManager.GetSection("customSection");

            string defaultFolder = config.DefaultFolder.Path;
            string destinationPath;

            //проходим по всем шаблонам для определения папки для перемещения файла
            foreach (TemplateElement item in config.Templates)
            {
                //если имя файла соответсвует регулярному выражению
                if (Regex.IsMatch(e.Name, item.NameTemplate))
                {
                    //получаем путь к файлу с изменённым именем
                    destinationPath = CreateNewPath(e.FullPath, item.DestinationFolder, item.IsAddCreationDate, item.IsAddIndex);

                    //создаем папку для перемещения новго файла
                    CreateDirectory(item.DestinationFolder);

                    //перемещаем появившийся  в прослушиваемой папке файл в назначенную шаблонам папку
                    MoveTo(e.FullPath, destinationPath);

                    //уведомляем о том, что шаблон найден
                    loger.PrintTemplateFound(true);

                    return;
                }
            }


            CreateDirectory(defaultFolder);

            //если подходящего шаблона не найдено
            //создаем новый путь с папкой по умолчанию

            destinationPath = CreateNewPath(e.FullPath, defaultFolder, true, true);

            MoveTo(e.FullPath, destinationPath);
            //уведомляем о том, что шаблон не найден
            loger.PrintTemplateFound(false);
        }