/// <summary> /// Запуск процесса анализа (поиска файлов резервных копий баз данных, которых нет в источниках) для заданного каталога /// </summary> /// <param name="dr">заданный каталог</param> /// <param name="tw_log">журнал лога</param> private void RunDirection(FileDirectoryInfo dr, TextWriter tw_log) { var list = dr.FilesList.OrderBy(p => p); tw_log.WriteLine($"{DateTime.Now} Каталог: {dr.DirectoryName}"); foreach (var item in list) { if (this.Conf.IsDelFile == "true") { try { File.Delete($@"{dr.DirectoryName}\{item}.bak"); tw_log.WriteLine($"{DateTime.Now} Файл: {item}.bak успешно удален"); } catch (Exception exp) { tw_log.WriteLine($"{DateTime.Now} Файл: {item}.bak не удален, т к возникло исключение: {exp.Message}"); } } else { tw_log.WriteLine($"{DateTime.Now} Файл: {item}.bak"); } } }
/// <summary> /// Возвращает файлы резервных копий баз данных, которых нет в истониках, в сцепке со своими каталогами в заданном каталоге /// </summary> /// <param name="fdi">заданный каталог</param> /// <param name="ops">операции</param> /// <returns>Лишние файлы</returns> private FileDirectoryInfo ExceptFiles(FileDirectoryInfo fdi, IOperations ops) { var resdbfiles = fdi.FilesList.Except(ops.SourceDBList); FileDirectoryInfo nfdi = new FileDirectoryInfo(path: fdi.DirectoryName, isrefresh: false); foreach (var f in resdbfiles) { nfdi.FilesList.Add(f); } return(nfdi); }