Exemplo n.º 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();
        }
Exemplo n.º 2
0
        public PageComposer(INavigationService navigator)
        {
            if (navigator == null)
            {
                throw new ArgumentNullException(nameof(navigator));
            }

            // initialisation des dépendances avec un cycle de vie de singleton
            this.navigator = navigator;

            fileService = new WindowsFileService();

            articlePictureSettings = CreateArticlePictureSettings();

            articlePictureNameFormatter = new ArticlePictureNameFormatter(
                articlePictureSettings);

            pictureLocator = new ArticlePictureLocator(
                fileService,
                articlePictureNameFormatter,
                articlePictureSettings);

            passwordHashGenerator = new PasswordHashGenerator();
            passwordHashComparer  = new PasswordHashComparer();

            messageBoxDialogService = new MessageBoxDialogService();

            CreatePictureFolderIfDoesNotExist();
            CreateDatabaseIfDoesNotExist();
        }
Exemplo n.º 3
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;
        }