예제 #1
0
        public CatalogueViewModel(
            IArticlePictureLocator articlePictureLocator,
            ICommandService <OpenWebPage> webBrowserService,
            ISearchSettingsProvider searchSettingsProvider,
            IArticleSearchEngine searchEngine)
        {
            if (articlePictureLocator == null)
            {
                throw new ArgumentNullException(nameof(articlePictureLocator));
            }
            if (webBrowserService == null)
            {
                throw new ArgumentNullException(nameof(webBrowserService));
            }
            if (searchSettingsProvider == null)
            {
                throw new ArgumentNullException(nameof(searchSettingsProvider));
            }
            if (searchEngine == null)
            {
                throw new ArgumentNullException(nameof(searchEngine));
            }

            this.articlePictureLocator  = articlePictureLocator;
            this.webBrowserService      = webBrowserService;
            this.searchSettingsProvider = searchSettingsProvider;
            this.searchEngine           = searchEngine;

            SearchCommand = new RelayCommand(() => Search());
            ShowSelectedArticleFluCommand = new RelayCommand(() => ShowSelectedArticleFlu());

            InitPropertiesBoundToUI();
        }
예제 #2
0
        public void Constructor_NullDecoratedSearchEnginePassed_Throws()
        {
            IArticleSearchEngine nullSearchEngine = null;
            var stubDialogService = Substitute.For <IMessageBoxDialogService>();

            Assert.Catch <ArgumentNullException>(() =>
                                                 new SearchEngineNoResultFoundNotifier(
                                                     nullSearchEngine,
                                                     stubDialogService));
        }
예제 #3
0
        public SearchEngineNoResultFoundNotifier(
            IArticleSearchEngine decoratedSearchEngine,
            IMessageBoxDialogService dialogService)
        {
            if (decoratedSearchEngine == null)
            {
                throw new ArgumentNullException(nameof(decoratedSearchEngine));
            }
            if (dialogService == null)
            {
                throw new ArgumentNullException(nameof(dialogService));
            }

            this.decoratedSearchEngine = decoratedSearchEngine;
            this.dialogService         = dialogService;
        }
예제 #4
0
        public GestionPhotosViewModel(
            IArticlePictureLocator locator,
            IArticlePictureUpdater updater,
            IFileDialogService fileDialogService,
            IArticleSearchEngine searchEngine)
        {
            if (locator == null)
            {
                throw new ArgumentNullException(nameof(locator));
            }
            if (updater == null)
            {
                throw new ArgumentNullException(nameof(updater));
            }
            if (fileDialogService == null)
            {
                throw new ArgumentNullException(nameof(fileDialogService));
            }
            if (searchEngine == null)
            {
                throw new ArgumentNullException(nameof(searchEngine));
            }

            this.locator           = locator;
            this.updater           = updater;
            this.fileDialogService = fileDialogService;
            this.searchEngine      = searchEngine;

            SearchCommand = new RelayCommand(() => Search());
            SelectNewPictureFileCommand         = new RelayCommand(() => SelectNewPictureFile());
            UpdateSelectedArticlePictureCommand = new RelayCommand(() => UpdateSelectedArticlePicture());
            OpenPictureFolderCommand            = new RelayCommand(() => OpenPictureFolder());

            InitSearchSettings();

            SearchResults = new ObservableCollection <Article>();
            OnlySearchArticlesWithoutPicture = true;
        }