private bool AllFilesMatch(DirectoryInfo dirInfo) { // Rigged to process all files possible before returing the result. var allFilesMatch = true; #if NET45 || NET40 foreach (var dir in dirInfo.EnumerateDirectories()) { if (!AllFilesMatch(dir)) { allFilesMatch = false; } } var files = new List <string>(); foreach (var file in dirInfo.EnumerateFiles()) { files.Add(file.FullName); } #elif NET35 || MONO210 foreach (var dir in dirInfo.GetDirectories()) { if (!AllFilesMatch(dir)) { allFilesMatch = false; } } var files = new List <string>(); foreach (var file in dirInfo.GetFiles()) { files.Add(file.FullName); } #endif foreach (var file in files) { try { var processedName = file + ".kspd"; var jobj = KspData.LoadKspFile <JObject>(file); jobj.ToString(Formatting.Indented, null).WriteToFile(file + ".json"); KspData.SaveFile(processedName, jobj); if (!FilesAreEqual(file, processedName)) { allFilesMatch = false; } } catch (Exception ex) { Assert.Fail(ex.Message, ex); } } return(allFilesMatch); }
/// <summary> /// Adds/Updates an object of a particular ID /// </summary> /// <param name="id">Id to put</param> /// <param name="obj">object data</param> /// <returns>true=success;false=failure</returns> public bool Put(string id, T obj) { var info = GetFileInfo(id); var savePath = info != null ? info.FullName : null; if (savePath != null && backup) { var count = 0; var backupPath = savePath + "-BACKUP-" + DateTime.Now.ToString("yyyyMMdd_hhmmss"); do { count++; } while (File.Exists(backupPath + "_" + count)); File.Copy(savePath, backupPath + "_" + count); } else if (savePath == null) { if (mode == FileMode.DirPerFile) { var files = GetFiles(); var saveDir = BaseUri + "\\" + id; Directory.CreateDirectory(saveDir); savePath = saveDir + "\\" + fileName; } else { var files = GetFiles(); savePath = BaseUri + "\\" + id + fileName; } } KspData.SaveFile(savePath, obj, registry.Create <T>()); return(true); }