/// <summary> /// Creates an instance of XLToolbox.Csv.CsvExportViewModel and wires up the /// message events to display a progress bar and error message as needed. /// </summary> static Csv.CsvExportViewModel CreateCsvExportViewModel(Xl.Range range) { Csv.CsvExportViewModel vm = Csv.CsvExportViewModel.FromLastUsed(); vm.Range = range; vm.ShowProgressMessage.Sent += (sender, args) => { args.Content.CancelButtonText = Strings.Cancel; args.Content.Caption = Strings.ExportCsvFile; args.Content.CompletedMessage.Sent += (sender2, args2) => { args.Content.CloseViewCommand.Execute(null); }; args.Content.InjectInto <Bovender.Mvvm.Views.ProcessView>().ShowInForm(); }; vm.ProcessFinishedMessage.Sent += (sender, args) => { if (args.Content.Exception != null) { Logger.Info("Received ProcessFinishedMessage with exception"); Bovender.Mvvm.Actions.ProcessCompletedAction action = new ProcessCompletedAction( args.Content, Strings.CsvExportFailed, Strings.CsvExportFailed, Strings.Close); action.Invoke(args); } }; return(vm); }
static void SaveCsv(Xl.Range range) { Csv.CsvExportViewModel vm = CreateCsvExportViewModel(range); vm.ChooseExportFileNameMessage.Sent += (sender, args) => { ChooseFileSaveAction a = new ChooseFileSaveAction(); a.Invoke(args); }; vm.ChooseFileNameCommand.Execute(null); }