private void mergeRecordsXMLToolStripMenuItem_Click(object sender, EventArgs e) { Records baseRecords; Records updateRecords; var xs = new XmlSerializer(typeof(Records)); using (var dlg = new OpenFileDialog()) { dlg.Title = "Select Base Record Structure"; dlg.InitialDirectory = Options.Value.SettingsDirectory; dlg.FileName = "RecordStructure.xml"; if (dlg.ShowDialog(this) != DialogResult.OK) { return; } using (var fs = File.OpenRead(dlg.FileName)) { baseRecords = xs.Deserialize(fs) as Records; } } using (var dlg = new OpenFileDialog()) { dlg.Title = "Select Record Structure XML To Merge"; dlg.InitialDirectory = Options.Value.SettingsDirectory; //dlg.InitialDirectory = Path.GetTempPath(); dlg.FileName = "RecordStructure.xml"; if (dlg.ShowDialog(this) != DialogResult.OK) { return; } using (var fs = File.OpenRead(dlg.FileName)) { updateRecords = xs.Deserialize(fs) as Records; } } if (updateRecords != null && baseRecords != null) { var builder = new RecordBuilder(); builder.MergeRecords(baseRecords.Items.OfType <RecordsRecord>(), updateRecords.Items.OfType <RecordsRecord>()); using (var dlg = new SaveFileDialog()) { dlg.Title = "Select Record Structure To Save"; dlg.InitialDirectory = Options.Value.SettingsDirectory; //dlg.InitialDirectory = Path.GetTempPath(); dlg.FileName = "RecordStructure.xml"; dlg.OverwritePrompt = false; if (dlg.ShowDialog(this) == DialogResult.OK) { using (var fs = File.CreateText(dlg.FileName)) { xs.Serialize(fs, updateRecords); } } } } }
private void mergeRecordsXMLToolStripMenuItem_Click(object sender, EventArgs e) { Records baseRecords; Records updateRecords; var xs = new XmlSerializer(typeof(Records)); using (var dlg = new OpenFileDialog()) { dlg.Title = "Select Base Record Structure"; dlg.InitialDirectory = Options.Value.SettingsDirectory; dlg.FileName = "RecordStructure.xml"; if (dlg.ShowDialog(this) != DialogResult.OK) { return; } using (var fs = File.OpenRead(dlg.FileName)) { baseRecords = xs.Deserialize(fs) as Records; } } using (var dlg = new OpenFileDialog()) { dlg.Title = "Select Record Structure XML To Merge"; dlg.InitialDirectory = Options.Value.SettingsDirectory; //dlg.InitialDirectory = Path.GetTempPath(); dlg.FileName = "RecordStructure.xml"; if (dlg.ShowDialog(this) != DialogResult.OK) { return; } using (var fs = File.OpenRead(dlg.FileName)) { updateRecords = xs.Deserialize(fs) as Records; } } if (updateRecords != null && baseRecords != null) { var builder = new RecordBuilder(); builder.MergeRecords(baseRecords.Items.OfType<RecordsRecord>(), updateRecords.Items.OfType<RecordsRecord>()); using (var dlg = new SaveFileDialog()) { dlg.Title = "Select Record Structure To Save"; dlg.InitialDirectory = Options.Value.SettingsDirectory; //dlg.InitialDirectory = Path.GetTempPath(); dlg.FileName = "RecordStructure.xml"; dlg.OverwritePrompt = false; if (dlg.ShowDialog(this) == DialogResult.OK) { using (var fs = File.CreateText(dlg.FileName)) { xs.Serialize(fs, updateRecords); } } } } }