コード例 #1
0
        bool LoadLastData()
        {
            var jsonFileName = RenderFileHelper.BuildOutputFileName(Configuration, RenderJson.FileName);

            LastData = JsonOutput.Load(jsonFileName);
            return(LastData != null);
        }
コード例 #2
0
 void BackupFile(string fileName)
 {
     try
     {
         File.Copy(RenderFileHelper.BuildOutputFileName(Configuration, fileName), BuildBackupFileName(fileName));
     }
     catch
     { }
 }
コード例 #3
0
        string BuildBackupFileName(string fileName)
        {
            string backupFileName;
            var    uniqueExt = "";

            do
            {
                backupFileName = RenderFileHelper.BuildOutputFileName(Configuration,
                                                                      $"{JournalDirectoryName}\\{Path.GetFileNameWithoutExtension(fileName)}_{DateTime.Today:yyyyMMdd}{uniqueExt}{Path.GetExtension(fileName)}");
                uniqueExt = $"_{DateTime.Now:FFFF}";
            } while (File.Exists(backupFileName));

            return(backupFileName);
        }
コード例 #4
0
        void AppendChangeToFile()
        {
            var fileName = RenderFileHelper.BuildOutputFileName(Configuration, FileName);
            var changes  = JsonChangesOutput.Load(fileName) ?? new JsonChangesOutput();

            changes.Items.Add(new JsonChangesItem
            {
                Changed = DateTime.Now,
                ConfigurationChanged = ConfigurationChanged(),
                NumberOfFragements   = Duplicates.Count,
                NumberOfLocations    = Duplicates.Sum(q => q.Locations.Count)
            });

            File.WriteAllText(fileName, changes.ToJsonString());
        }
コード例 #5
0
        public void Execute(Configuration configuration, List <Duplicate> duplicates)
        {
            Configuration = configuration;
            Duplicates    = duplicates;
            if (!configuration.TrackChanges || !LoadLastData())
            {
                return;
            }

            if (DuplicatesChanged() || !File.Exists(RenderFileHelper.BuildOutputFileName(Configuration, FileName)))
            {
                AppendChangeToFile();
                AddCurrentFilesToJournal();
            }
        }
コード例 #6
0
 void AddCurrentFilesToJournal()
 {
     Directory.CreateDirectory(RenderFileHelper.BuildOutputFileName(Configuration, JournalDirectoryName));
     BackupFile(RenderMainHtml.FileName);
     BackupFile(RenderJson.FileName);
 }