public void Setup() { _commandLocator = Substitute.For <ICommandLocator>(); _gpoSettings = Substitute.For <IGpoSettings>(); _welcomeSettingsHelper = Substitute.For <IWelcomeSettingsHelper>(); _rssService = Substitute.For <IRssService>(); var settings = new PdfCreatorSettings(); settings.ApplicationSettings.RssFeed = new pdfforge.PDFCreator.Conversion.Settings.RssFeed { Enable = true }; _rssFeedSettingsProvider = Substitute.For <ICurrentSettings <pdfforge.PDFCreator.Conversion.Settings.RssFeed> >(); _rssFeedSettingsProvider.Settings.Returns(settings.ApplicationSettings.RssFeed); }
public MainShellViewModel(DragAndDropEventHandler dragAndDrop, ITranslationUpdater translation, ApplicationNameProvider applicationName, IInteractionRequest interactionRequest, IEventAggregator aggregator, ICommandLocator commandLocator, IDispatcher dispatcher, IRegionManager regionManager, IWelcomeSettingsHelper welcomeSettingsHelper, IGpoSettings gpoSettings, IUpdateAssistant updateAssistant, IEventAggregator eventAggregator) : base(translation) { _aggregator = aggregator; ApplicationName = applicationName; InteractionRequest = interactionRequest; _dispatcher = dispatcher; _regionManager = regionManager; _welcomeSettingsHelper = welcomeSettingsHelper; ShowUpdate = updateAssistant.IsUpdateAvailable(); GpoSettings = gpoSettings; NavigateCommand = commandLocator?.CreateMacroCommand() .AddCommand <EvaluateSettingsAndNotifyUserCommand>() .AddCommand <SaveChangedSettingsCommand>() .AddCommand <NavigateToMainTabCommand>() .Build(); CloseCommand = commandLocator?.CreateMacroCommand() .AddCommand <EvaluateSettingsAndNotifyUserCommand>() .AddCommand <SaveChangedSettingsCommand>() .Build(); DragEnterCommand = new DelegateCommand <DragEventArgs>(dragAndDrop.HandleDragEnter); DragDropCommand = new DelegateCommand <DragEventArgs>(dragAndDrop.HandleDropEvent); aggregator.GetEvent <NavigateToHomeEvent>().Subscribe(OnSettingsChanged); aggregator.GetEvent <NavigateMainTabEvent>().Subscribe(OnMainShellNavigated); aggregator.GetEvent <ForceMainShellNavigation>().Subscribe(OnForcedNavigation); aggregator.GetEvent <CloseMainWindowEvent>().Subscribe(OnCloseMainWindow); ShowUpdate = updateAssistant.ShowUpdate; eventAggregator.GetEvent <SetShowUpdateEvent>().Subscribe(value => { ShowUpdate = updateAssistant.ShowUpdate; }, true); }
public RssFeedViewModel(ICommandLocator commandLocator, ICurrentSettings <Conversion.Settings.RssFeed> rssFeedSettingsProvider, IGpoSettings gpoSettings, ITranslationUpdater translationUpdater, IWelcomeSettingsHelper welcomeSettingsHelper, IRssService rssService, IFileCacheFactory fileCacheFactory, ITempFolderProvider tempFolderProvider) : base(translationUpdater) { _rssFeedSettingsProvider = rssFeedSettingsProvider; _gpoSettings = gpoSettings; _rssService = rssService; _fileCacheFactory = fileCacheFactory; _tempFolderProvider = tempFolderProvider; _feedItems = new List <FeedItem>(); _fileCache = GetFileCache(); ShowWelcome = welcomeSettingsHelper.CheckIfRequiredAndSetCurrentVersion(); //Because the CheckIfRequiredAndSetCurrentVersion() sets the version in the registry, RaisePropertyChanged(nameof(ShowWelcome)); // ShowWelcome has to be set here in the ctor and not directly in the property UrlOpenCommand = commandLocator.GetCommand <UrlOpenCommand>(); ShowRssFeedCommand = new DelegateCommand(ShowRssFeed); ShowWelcomeWindow(); }