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);
            }
        }
Пример #2
0
        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));
            };
        }
Пример #3
0
 public override bool IsStepRequired(Job job)
 {
     return(_updateHelper.UpdateShouldBeShown());
 }
Пример #4
0
 private void SetShowDialog(bool value)
 {
     ShouldShowUpdate = _updateHelper.UpdateShouldBeShown();
     RaisePropertyChanged(nameof(ShouldShowUpdate));
     RaisePropertyChanged(nameof(NewUpdateMessage));
 }