public static void SaveAllLocalSettings(TestPlan testPlan) { string fileName = Environment.CurrentDirectory + "/local files/" + testPlan.DisplayName + ".xml"; if (!Directory.Exists(Path.GetDirectoryName(fileName))) { Directory.CreateDirectory(Path.GetDirectoryName(fileName)); } List <object> localSettings = new List <object>(); localSettings.Add(testPlan.GuidStr); localSettings.Add(DateTime.Now.ToString()); foreach (var step in TestStep.GetAllTestStep(testPlan)) { localSettings.Add(step.GetLocalSetting()); } byte[] localSettingsbytes = SerializerStepData(localSettings); System.IO.File.WriteAllBytes(fileName, localSettingsbytes.ToArray()); }
public static void LoadLocalSettings(TestPlan testPlan) { string fileName = Environment.CurrentDirectory + "/local files/" + testPlan.DisplayName + ".xml"; if (File.Exists(fileName)) { try { byte[] allBytes = File.ReadAllBytes(fileName); List <object> localSettinngobjects = new List <object>(); object obj = Interface.DeSerializerStepData(allBytes, localSettinngobjects); localSettinngobjects = obj as List <object>; string guidStr = localSettinngobjects[0] as string; if (guidStr == testPlan.GuidStr) { List <TestStep> steps = TestStep.GetAllTestStep(testPlan); if (steps.Count == localSettinngobjects.Count - 2) { for (int i = 0; i < localSettinngobjects.Count - 2; i++) { steps[i].SetLocalSetting(localSettinngobjects[i + 2]); steps[i].IsCalValid = true; } return; } } else { var res = DXMessageBox.Show("状态文件已经被修改,本地设置和校准文件是否合法?", "本地设置和校准合法性确认", System.Windows.MessageBoxButton.YesNo); if (res == System.Windows.MessageBoxResult.Yes) { List <TestStep> steps = TestStep.GetAllTestStep(testPlan); if (steps.Count == localSettinngobjects.Count - 2) { for (int i = 0; i < localSettinngobjects.Count - 2; i++) { steps[i].SetLocalSetting(localSettinngobjects[i + 2]); steps[i].IsCalValid = true; } SaveAllLocalSettings(testPlan); return; } } else { } } } catch { foreach (var step in TestStep.GetAllTestStep(testPlan)) { step.IsCalValid = false; } } } foreach (var step in TestStep.GetAllTestStep(testPlan)) { step.IsCalValid = false; } }