예제 #1
0
 public LogsCommand(IMessagingService messagingService, IProcessRunnerService processRunnerService)
 {
     _messagingService     = messagingService;
     _processRunnerService = processRunnerService;
     //this.ShortcutKeyString = "Shift+6";
     //this.Icon = Resources.exponentation;
     Text    = MenuStrings.Logs_Text;
     ToolTip = MenuStrings.Logs_Text;
 }
예제 #2
0
 public ProcessMrzCommand(IProcessRunnerService processRunnerService) : base(processRunnerService, Mode.Mrz)
 {
 }
 public ProcessFieldsCommand(IProcessRunnerService processRunnerService) : base(processRunnerService, Mode.Fields)
 {
 }
 public ProcessTextFieldCommand(IProcessRunnerService processRunnerService) : base(processRunnerService, Mode.TextField)
 {
 }
예제 #5
0
 protected MultipleSourceFileCommand(IProcessRunnerService processRunnerService, Mode mode) :
     base(processRunnerService, mode)
 {
 }
 protected BaseProcessCommand(IProcessRunnerService processRunnerService, Mode mode)
 {
     ProcessRunnerService = processRunnerService;
     Mode = mode;
 }
        /// <summary>
        /// Check for any update available and run the plugin installer
        /// </summary>
        /// <param name="viewInvoker">An <see cref="IViewInvokerService"/></param>
        /// <param name="processRunner">An <see cref="IProcessRunnerService"/></param>
        /// <returns>An Assert whether the IME have to shut down</returns>
        public static bool CheckInstallAndVerifyIfTheImeShallShutdown(IViewInvokerService viewInvoker = null, IProcessRunnerService processRunner = null)
        {
            var imeUpdate = CheckForImeUpdate();

            if (imeUpdate != null && (viewInvoker ?? new ViewInvokerService()).ShowMessageBox(ImeNewVersionMessage, "IME Update", MessageBoxButton.YesNo, MessageBoxImage.Information) == MessageBoxResult.Yes)
            {
                RunInstaller(imeUpdate, processRunner);
                return(true);
            }

            var updatablePlugins = PluginUtilities.GetDownloadedInstallablePluginUpdate().ToList();

            if (updatablePlugins.Any())
            {
                var pluginInstallerView = new UpdateDownloaderInstaller()
                {
                    DataContext = new UpdateDownloaderInstallerViewModel(updatablePlugins)
                };
                (viewInvoker ?? new ViewInvokerService()).ShowDialog(pluginInstallerView);
            }

            return(false);
        }
        /// <summary>
        /// Closes the IME and run MSI in order to install the new version
        /// </summary>
        /// <param name="installerPath">The path to the msi</param>
        /// <param name="processRunner">The <see cref="IProcessRunnerService"/></param>
        private static void RunInstaller(string installerPath, IProcessRunnerService processRunner)
        {
            var runner = processRunner ?? new ProcessRunnerService();

            runner.RunAsAdmin(installerPath);
        }