Ejemplo n.º 1
0
        protected void ExportFile()
        {
            var dialog = new SaveFileDialog()
            {
                Title  = MainFormStrings.Export,
                Filter = "Sliding Universal Score(*.sus)|*.sus"
            };

            if (dialog.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }
            var susArgs = ScoreBook.ExporterArgs.ContainsKey("sus") ? ScoreBook.ExporterArgs["sus"] as Components.Exporter.SusArgs : new Components.Exporter.SusArgs();
            var vm      = new SusExportWindowViewModel(ScoreBook, susArgs);
            var window  = new SusExportWindow()
            {
                DataContext = vm
            };
            var result = window.ShowDialog(this);

            if (!result.HasValue || !result.Value)
            {
                return;
            }

            var exporter = new Components.Exporter.SusExporter()
            {
                CustomArgs = susArgs
            };
            var exportData = new ExportData()
            {
                OutputPath = dialog.FileName, Exporter = exporter
            };

            HandleExport(exportData);
            if (!ScoreBook.ExporterArgs.ContainsKey("sus"))
            {
                ScoreBook.ExporterArgs["sus"] = susArgs;
            }
            LastExportData = exportData;
        }
Ejemplo n.º 2
0
        public void Export(IScoreBookExportPluginArgs args)
        {
            var     book    = args.GetScoreBook();
            SusArgs susArgs = JsonConvert.DeserializeObject <SusArgs>(args.GetCustomData() ?? "") ?? new SusArgs();

            if (!args.IsQuick)
            {
                var vm     = new SusExportWindowViewModel(book, susArgs);
                var window = new SusExportWindow()
                {
                    DataContext = vm
                };
                var result = window.ShowDialog();
                if (!result.HasValue || !result.Value)
                {
                    throw new UserCancelledException();
                }
                args.SetCustomData(JsonConvert.SerializeObject(susArgs));
            }

            var exporter = new SusExporter(book, susArgs);

            exporter.Export(args.Stream);
        }