public void SaveEntry(EntryRecord entry) { if (entry == null) throw new ArgumentNullException("entry"); var repository = new EntryRecordXmlRepository(); repository.SaveEntryRecord(entry); }
public void SaveEntryRecord(EntryRecord entry, string databasePath = "database.xml") { var xs = new XmlSerializer(typeof(EntryRecord)); using (var xw = new XmlTextWriter(databasePath, Encoding.UTF8) { Formatting = Formatting.Indented }) { xs.Serialize(xw, entry); } }
public EntryRecord Read(string[] paths) { var entry = new EntryRecord(); foreach (var path in paths) { if (!Directory.Exists(path)) continue; var record = reader.Read(new DirectoryInfo(path)); entry.RootDirectories.Add(record); } return entry; }
private void ValidateEntry(EntryRecord entry) { var repository = new EntryRecordXmlRepository(); var xmlEntry = repository.ReadEntryRecord(); if (xmlEntry != null) { foreach (var directory in entry.RootDirectories) { var storedDirectory = xmlEntry.RootDirectories.FirstOrDefault(dr => dr.FullName == directory.FullName); if (storedDirectory != null) ValidateDirectory(directory, storedDirectory); } } }