Ejemplo n.º 1
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);
        }