public static void Serialize(Control c, AppWin_Si4460_CP_ProjectData data, string XmlFileName) { XmlTextWriter xmlSerialisedForm = new XmlTextWriter(XmlFileName, Encoding.Default) { Formatting = Formatting.Indented }; xmlSerialisedForm.WriteStartDocument(); xmlSerialisedForm.WriteStartElement("RCA_ProjectData"); xmlSerialisedForm.WriteAttributeString("ProjectName", data.ProjectName); xmlSerialisedForm.WriteAttributeString("ChipType", data.ChipType); xmlSerialisedForm.WriteAttributeString("ChipRevision", data.ChipRevision); xmlSerialisedForm.WriteAttributeString("Version", data.Version); xmlSerialisedForm.WriteStartElement("DataItems"); AddDataItems(xmlSerialisedForm, c); xmlSerialisedForm.WriteEndElement(); xmlSerialisedForm.WriteEndElement(); xmlSerialisedForm.WriteEndDocument(); xmlSerialisedForm.Flush(); xmlSerialisedForm.Close(); }
private void tbtOpenConfiguration_Click(object sender, EventArgs e) { Stream stream = null; OpenFileDialog dialog = new OpenFileDialog { InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal), Filter = "XML Files|*.xml" }; if (dialog.ShowDialog() == DialogResult.OK) { try { stream = dialog.OpenFile(); if (stream != null) { using (stream) { AppWin_Si4460_CP_ProjectData projectData = new AppWin_Si4460_CP_ProjectData(_selectedProject.Name, _chipType, _chipRev, GlobalServices.appVersion); ProjectDataSerializer.ValidateAndSelectProjectFile(dialog.FileName, lstSelectProject, projectData); ProjectDataSerializer.Deserialize(tabMainConfiguration, dialog.FileName); pccPacketHandlerConfigurator_ConfigurationSetupChanged(null, null); } } } catch (Exception exception) { MessageBox.Show(string.Format("Error opening file {0}\nException: {1}\n", dialog.FileName, exception.Message)); } } }
private static AppWin_Si4460_CP_ProjectData ValidateProject(XmlDocument xmlSerialisedForm, string ChipType, string ChipRevision, string AppVersion) { XmlNode node = xmlSerialisedForm.GetElementsByTagName("RCA_ProjectData")[0]; if (((node.Attributes.GetNamedItem("ProjectName") == null) || (node.Attributes.GetNamedItem("ChipType") == null)) || ((node.Attributes.GetNamedItem("ChipRevision") == null) || (node.Attributes.GetNamedItem("Version") == null))) { throw new Exception("Invalid element data for ProjectName"); } AppWin_Si4460_CP_ProjectData data = new AppWin_Si4460_CP_ProjectData(node.Attributes.GetNamedItem("ProjectName").Value, node.Attributes.GetNamedItem("ChipType").Value, node.Attributes.GetNamedItem("ChipRevision").Value, node.Attributes.GetNamedItem("Version").Value); ValidateVersion(AppVersion, data.Version); if ((data.ChipType != ChipType) || (data.ChipRevision != ChipRevision)) { MessageBox.Show("Warning: You are opening configuration saved for\n\n" + data.ChipType + " revision " + data.ChipRevision + "\n\nbut you started the Radio Configuration Application for\n\n " + ChipType + " revision " + ChipRevision + "\n\nSome loaded values might be coerced and/or most appropriate project will be selected"); } return data; }
private void CreateSaveData(string fileName) { AppWin_Si4460_CP_ProjectData data = new AppWin_Si4460_CP_ProjectData(_selectedProject.Name, _chipType, _chipRev, GlobalServices.appVersion); ProjectDataSerializer.Serialize(tabMainConfiguration, data, fileName); }
public static void ValidateAndSelectProjectFile(string XmlFileName, ListView lstSelectProject, AppWin_Si4460_CP_ProjectData projectData) { XmlDocument xmlSerialisedForm = new XmlDocument(); xmlSerialisedForm.Load(XmlFileName); AppWin_Si4460_CP_ProjectData data = ValidateProject(xmlSerialisedForm, projectData.ChipType, projectData.ChipRevision, projectData.Version); SelectProject(lstSelectProject, data.ProjectName); }