private void createRecordStructureXmlToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var p = GetPluginFromNode(PluginTree.SelectedRecord);

            var builder = new RecordBuilder();

            builder.FormLookup           = GetRecordByID;
            builder.StringLookup         = LookupFormStrings;
            builder.CancelAction         = () => { return(backgroundWorker1.CancellationPending); };
            builder.UpdateProgressAction = UpdateBackgroundProgress;

            StartBackgroundWork(
                () => { builder.Start(p); },
                () =>
            {
                if (!IsBackroundProcessCanceled())
                {
                    using (var dlg = new SaveFileDialog())
                    {
                        dlg.InitialDirectory = Path.GetTempPath();
                        dlg.FileName         = "RecordStructure.xml";
                        dlg.OverwritePrompt  = false;
                        if (dlg.ShowDialog() == DialogResult.OK)
                        {
                            var xs = new XmlSerializer(typeof(Records));
                            using (StreamWriter fs = File.CreateText(dlg.FileName))
                            {
                                xs.Serialize(fs, builder.Complete());
                            }
                        }
                    }
                }
            }
                );
        }
Exemple #2
0
        private void createRecordStructureXmlToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var p = this.GetPluginFromNode(this.PluginTree.SelectedRecord);

            var builder = new RecordBuilder();
            builder.FormLookup = this.GetRecordByID;
            builder.StringLookup = this.LookupFormStrings;
            builder.CancelAction = () => { return this.backgroundWorker1.CancellationPending; };
            builder.UpdateProgressAction = this.UpdateBackgroundProgress;

            this.StartBackgroundWork(
                () => builder.Start(p),
                () =>
                    {
                        if (!this.IsBackroundProcessCanceled())
                        {
                            using (var dlg = new SaveFileDialog())
                            {
                                //dlg.InitialDirectory = Path.GetTempPath();
                                dlg.FileName = "RecordStructure.xml";
                                dlg.OverwritePrompt = false;
                                if (dlg.ShowDialog() == DialogResult.OK)
                                {
                                    var xs = new XmlSerializer(typeof (Records));
                                    using (StreamWriter fs = File.CreateText(dlg.FileName))
                                    {
                                        xs.Serialize(fs, builder.Complete());
                                    }
                                }
                            }
                        }
                    });
        }