public async Task Execute() { if (!_updateHelper.IsTimeForNextUpdate()) { return; } var onlineVersion = await _onlineVersionHelper.LoadOnlineVersionAsync(); if (!_updateHelper.UpdateShouldBeShown()) { return; } if (onlineVersion == null) { _logger.Error("OnlineVersion not available"); return; } var thisVersion = _versionHelper.ApplicationVersion; if (thisVersion.CompareTo(onlineVersion.Version) < 0) { await _updateDownloader.StartDownloadAsync(onlineVersion); } }
public UpdateIntervalSettingsViewModel(IUpdateHelper updateHelper, ICommandLocator commandLocator, ApplicationNameProvider applicationNameProvider, ICurrentSettingsProvider currentSettingsProvider, IGpoSettings gpoSettings, ITranslationUpdater translationUpdater, IEventAggregator eventAggregator, IInteractionRequest interactionRequest, ICurrentSettings <UpdateInterval> updateIntervalProvider, EditionHelper editionHelper, IUpdateLauncher updateLauncher, IOnlineVersionHelper onlineVersionHelper) : base(translationUpdater, currentSettingsProvider, gpoSettings) { _applicationNameProvider = applicationNameProvider; _updateHelper = updateHelper; _commandLocator = commandLocator; _interactionRequest = interactionRequest; _updateIntervalProvider = updateIntervalProvider; _editionHelper = editionHelper; _updateLauncher = updateLauncher; _onlineVersionHelper = onlineVersionHelper; ShouldShowUpdate = updateHelper.UpdateShouldBeShown(); _showUpdateEvent = eventAggregator.GetEvent <SetShowUpdateEvent>(); _showUpdateEvent.Subscribe(SetShowDialog); currentSettingsProvider.SettingsChanged += (sender, args) => { RaisePropertyChanged(nameof(CurrentUpdateInterval)); RaisePropertyChanged(nameof(DisplayUpdateWarning)); }; }
public override bool IsStepRequired(Job job) { return(_updateHelper.UpdateShouldBeShown()); }
private void SetShowDialog(bool value) { ShouldShowUpdate = _updateHelper.UpdateShouldBeShown(); RaisePropertyChanged(nameof(ShouldShowUpdate)); RaisePropertyChanged(nameof(NewUpdateMessage)); }