예제 #1
0
        public MonitoringService(
            SettingsProvider settingsProvider,
            MessageAdapter messageAdapter,
            InstagramExplorer instagramExplorer,
            ImageUtils imageUtils,
            IImageRepository imageRep)
        {
            _messageAdapter    = messageAdapter;
            _instagramExplorer = instagramExplorer;
            _imageUtils        = imageUtils;
            _imageRep          = imageRep;
            AppSettingsDto settings = settingsProvider.GetAppSettings();

            if (settings == null)
            {
                throw new InvalidOperationException();
            }

            _hashTag = settings.HashTag;
            var startSessionTime = imageRep.GetActiveSession(includeImages: false);

            if (startSessionTime == null)
            {
                imageRep.StartSession();
            }
            _startTime   = startSessionTime?.StartTime ?? DateTime.Now;
            _endTime     = settings.DateEnd;
            _printerName = settings.PrinterName;
        }
예제 #2
0
        public void TestGetImagesByHashTag_AnyState_ReturnsValidImages()
        {
            var explorer = new InstagramExplorer();
            var images   = explorer.GetImagesByHashTag("wedding", null, new CancellationToken(), 15).Result;

            Assert.IsTrue(images != null && images.Images != null && images.Images.Any() && images.Images.All(x => x.Data != null));
        }
예제 #3
0
        public void TestGetImagesByUserName_UserExists_ReturnsValidImages()
        {
            var explorer = new InstagramExplorer();
            var images   = explorer.GetImagesByUserName("jlo", null, new CancellationToken()).Result;

            Assert.IsTrue(images != null && images.Images != null && images.Images.Any() && images.Images.All(x => x.Data != null));
        }
예제 #4
0
 public InstagramExplorerViewModelFactory(
     IViewModelNavigator navigator,
     InstagramExplorer instagramExplorer,
     SettingsProvider settings,
     ImagePrinter printer, PatternViewModelProvider patternVMProvider,
     ImageUtils imageUtils, IMappingEngine mappingEngine)
 {
     _navigator         = navigator;
     _instagramExplorer = instagramExplorer;
     _settings          = settings;
     _printer           = printer;
     _patternVmProvider = patternVMProvider;
     _imageUtils        = imageUtils;
     _mappingEngine     = mappingEngine;
 }
예제 #5
0
        public InstagramExplorerViewModel(
            IViewModelNavigator navigator,
            InstagramExplorer instagramExplorer,
            SettingsProvider settings,
            ImagePrinter printer, PatternViewModelProvider patternVMProvider,
            ImageUtils imageUtils, IMappingEngine mappingEngine)
        {
            _navigator         = navigator;
            _printer           = printer;
            _patternVmProvider = patternVMProvider;
            _imageUtils        = imageUtils;
            _mappingEngine     = mappingEngine;
            _instagramExplorer = instagramExplorer;
            AppSettingsDto appSettings = settings.GetAppSettings();

            if (appSettings != null)
            {
                _printerName = appSettings.PrinterName;
            }

            IsHashTag            = true;
            SearchAsyncOperation = new NotifyTaskCompletion <ImageResponse>(Task.FromResult(default(ImageResponse)));
            _searchTokenSource   = new CancellationTokenSource();
        }