/// <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); }
internal static void Exporter_ProcessFinished_Sent(object sender, MessageArgs <ProcessMessageContent> e) { if (e.Content.Exception != null) { Logger.Info("Exporter_ProcessFinished_Sent: Received ProcessFinishedMessage with exception, informing user"); Bovender.Mvvm.Actions.ProcessCompletedAction action = new ProcessCompletedAction( e.Content, Strings.ExportFailed, Strings.ExportFailedMessage, Strings.Close); action.Invoke(e); } else { Logger.Info("Exporter_ProcessFinished_Sent: Exporter process has finished"); } }
static void CheckForUpdate() { Updater.CanCheck = false; ReleaseInfo releaseInfo = new ReleaseInfo(); Bovender.Versioning.ReleaseInfoViewModel releaseInfoVM = new Bovender.Versioning.ReleaseInfoViewModel( releaseInfo, XLToolbox.Versioning.SemanticVersion.Current); releaseInfoVM.ShowProgressMessage.Sent += (sender, args) => { args.Content.Caption = Strings.CheckForUpdates; args.Content.CancelButtonText = Strings.Cancel; args.Content.InjectInto <Bovender.Mvvm.Views.ProcessView>().ShowInForm(); }; releaseInfoVM.UpdateAvailableMessage.Sent += (sender, args) => { Logger.Info("CheckForUpdate: UpdateAvailableMessage received"); UpdaterViewModel updaterVM = new UpdaterViewModel(Updater.CreateDefault(releaseInfo)); updaterVM.ShowUpdateAvailableView(); }; releaseInfoVM.NoUpdateAvailableMessage.Sent += (sender, args) => { Logger.Info("CheckForUpdate: NoUpdateAvailableMessage received"); ProcessCompletedAction a = new ProcessCompletedAction( args.Content as ProcessMessageContent, Strings.CheckForUpdates, Strings.YouHaveTheLatestVersion, Strings.OK); a.InvokeWithContent(args.Content); Updater.CanCheck = true; }; releaseInfoVM.ExceptionMessage.Sent += (sender, args) => { Logger.Warn("CheckForUpdate: ExceptionMessage received"); Logger.Warn(releaseInfoVM.Exception); ProcessCompletedAction a = new ProcessCompletedAction( args.Content as ProcessMessageContent, Strings.CheckForUpdates, Strings.FetchingVersionInformationFailed, Strings.OK); a.InvokeWithContent(args.Content); Updater.CanCheck = true; }; releaseInfoVM.StartProcess(); }