public override void Execute(object parameter) { SaveFileDialog dlg = new SaveFileDialog { DefaultExt = ".XCase", Filter = "XCase files (*.XCase)|*.XCase|XML files (*.xml)|*.xml|EvoX files (*.EvoX)|*.EvoX|All files (*.*)|*.*||" }; bool?result = dlg.ShowDialog(); if (result == true) { if (System.IO.Path.GetExtension(dlg.FileName).ToUpper() == ".EVOX") { XCase.Model.EvoXExport.EvoXExport exporter = new EvoXExport(); exporter.SaveAsEvoxProject(CurrentProject, dlg.FileName); } else { XmlSerializator serializator = CurrentProject.VersionManager != null ? new XmlSerializator(CurrentProject.VersionManager) : new XmlSerializator(CurrentProject); serializator.SerilizeTo(dlg.FileName); CurrentProject.FilePath = dlg.FileName; // HACK: should be somewhere else.. MainWindow.Title = "XCase editor - " + CurrentProject.FilePath; MainWindow.HasUnsavedChanges = false; } } }
public void Test(string filename) { XmlDeserializatorBase deserializator; if (XmlDeserializatorVersions.UsesVersions(filename)) { deserializator = new XmlDeserializatorVersions(); } else { deserializator = new XmlDeserializator(); } Project xcaseProject = deserializator.RestoreProject(filename); EvoXExport evoXExport = new EvoXExport(); EvoX.Model.Project evoxProject = evoXExport.ConvertToEvoXProject(xcaseProject); string resultPath = TEST_BASE_DIR + Path.GetFileNameWithoutExtension(filename) + ".EvoX"; projectSerializationManager.SaveProject(evoxProject, resultPath); }