bool LoadLastData() { var jsonFileName = RenderFileHelper.BuildOutputFileName(Configuration, RenderJson.FileName); LastData = JsonOutput.Load(jsonFileName); return(LastData != null); }
void BackupFile(string fileName) { try { File.Copy(RenderFileHelper.BuildOutputFileName(Configuration, fileName), BuildBackupFileName(fileName)); } catch { } }
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); }
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()); }
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(); } }
void AddCurrentFilesToJournal() { Directory.CreateDirectory(RenderFileHelper.BuildOutputFileName(Configuration, JournalDirectoryName)); BackupFile(RenderMainHtml.FileName); BackupFile(RenderJson.FileName); }