Ejemplo n.º 1
0
        /// <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");
                }
            }
        }
Ejemplo n.º 2
0
        /// <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);
        }