public void LoadState() { if (File.Exists(FILENAME)) { XmlSerializer serializer = new XmlSerializer(typeof(Context.TreeState)); Stream stream = File.OpenRead(FILENAME); Context.TreeState state = (Context.TreeState)(serializer.Deserialize(stream)); stream.Close(); Context.AppContext.Instance.AttachTreeState(state); } }
public void SaveState() { Context.TreeState state = Context.AppContext.Instance.TreeState; XmlSerializer serializer = new XmlSerializer(typeof(Context.TreeState)); if (File.Exists(FILENAME)) { File.Delete(FILENAME); } Stream stream = File.OpenWrite(FILENAME); serializer.Serialize(stream, state); stream.Close(); }
void Remove(TreeNode node) { TreeNode current = node; TreeNode fileNode = null; while (current.Parent != null) { fileNode = current; current = current.Parent; } current.Nodes.Remove(fileNode); // remove from AppState string fileName = _fileNodes[fileNode]; Context.TreeState state = Context.AppContext.Instance.TreeState; switch (current.Name) { case PARAMETERSROOT: state.ParametersFiles.Remove(fileName); _parametersNodes.Remove(fileNode); break; case TESTSROOT: state.TestFiles.Remove(fileName); state.DutTestFiles.Remove(fileName); TestSuite ts = fileNode.Tag as TestSuite; if (ts != null) { if (TestSuiteRemoved != null) { TestSuiteRemoved(ts); } foreach (Test test in ts.Tests) { foreach (TestCase tc in test.TestCases) { TreeNode tcNode = _tcNodes[tc.TestCaseID]; _tcNodes.Remove(tc.TestCaseID); _testCaseNodes.Remove(tcNode); } } } else { DutTest dt = fileNode.Tag as DutTest; if (DutTestSuiteRemoved != null) { DutTestSuiteRemoved(dt); } foreach (DutTestCase tc in dt.Tests) { TreeNode tcNode = _tcNodes[tc.TestCaseID]; _tcNodes.Remove(tc.TestCaseID); _dutTestCaseNodes.Remove(tcNode); } } break; case FEATUREDEFINITIONROOT: state.FeatureDefinitionFiles.Remove(fileName); FeatureDefinition def = (FeatureDefinition)fileNode.Tag; foreach (TestCase tc in def.TestCases) { TreeNode tcNode = _tcNodes[tc.TestCaseID]; _tcNodes.Remove(tc.TestCaseID); _featureDefinitionNodes.Remove(tcNode); } break; } _fileNodes.Remove(fileNode); }