public CommitsPageViewModel(IGitHubService gitHubService, IRepoNotificationService repoNotificationService, IScheduleProvider scheduleProvider)
 {
     _gitHubService = gitHubService;
     _repoNotificationService = repoNotificationService;
     _scheduleProvider = scheduleProvider;
     RefreshCommand = new DelegateCommand(LoadCommits);
 }
Beispiel #2
0
 public ReportService(ILog log, IConfigurationProvider configurationProvider, IScheduleProvider scheduleProvider, IReportGenerator reportGenerator)
 {
     _log = log;
     _configurationProvider = configurationProvider;
     _scheduleProvider      = scheduleProvider;
     _reportGenerator       = reportGenerator;
 }
 public MovieListViewModel(IMoviesService moviesService, IDialogService dialogService, IScheduleProvider scheduleProvider)
 {
     _moviesService    = moviesService;
     _dialogService    = dialogService;
     _scheduleProvider = scheduleProvider;
     RefreshCommand    = new DelegateCommand(_ => RefreshMovies());
 }
 public ReportService(ILog log, IConfigurationProvider configurationProvider, IScheduleProvider scheduleProvider, IReportGenerator reportGenerator)
 {
     _log = log;
     _configurationProvider = configurationProvider;
     _scheduleProvider = scheduleProvider;
     _reportGenerator = reportGenerator;
 }
Beispiel #5
0
 public AirportEngine(IScheduleProvider scheduleProvider, ITimeManager timeManager, IPlaneCapacityProvider planeCapacityProvider)
 {
     _scheduleProvider      = scheduleProvider;
     _timeManager           = timeManager;
     _planeCapacityProvider = planeCapacityProvider;
     _timeManager.Tick     += OnTimeManagerTick;
 }
        public SearchUserPageViewModel(IGitHubService gitHubService, INavigationService navigationService, IScheduleProvider scheduleProvider)
        {
            _gitHubService = gitHubService;
            _navigationService = navigationService;
            var scheduleProvider1 = scheduleProvider;
            SearchUserCommand = new DelegateCommand(SearchUser);
            NavigateToUserCommand = new DelegateCommand<User>(NavigateToUserDetails);

            PropertyChangedStream
                .Where(x => x == "SearchUserText")
                .Subscribe(_ => _searchUserSubject.OnNext(SearchUserText));

            _searchUserSubject
                .Throttle(TimeSpan.FromMilliseconds(500))
                .DistinctUntilChanged()
                .Where(x=>!string.IsNullOrEmpty(x))
                .Select(searchText =>
                {
                    _isLoadingSubject.OnNext(true);
                    return _gitHubService.SearchUser(SearchUserText);
                })
                .Switch()
                .ObserveOn(scheduleProvider1.UiScheduler)
                .Subscribe(OnUserResults, OnError);

            _isLoadingSubject
                .ObserveOn(scheduleProvider1.UiScheduler)
                .Subscribe(loading => IsLoading = loading);
        }
Beispiel #7
0
        public void Init()
        {
            _cts           = new CancellationTokenSource(TimeSpan.FromSeconds(15));
            _loggerFactory = Substitute.For <ILoggerFactory>();
            _logger        = Substitute.For <ILogger <QuidjiboServer> >();
            _loggerFactory.CreateLogger <QuidjiboServer>().Returns(_logger);

            _quidjiboConfiguration = Substitute.For <IQuidjiboConfiguration>();

            _workProviderFactory = Substitute.For <IWorkProviderFactory>();
            _workProvider        = Substitute.For <IWorkProvider>();
            _workProviderFactory.CreateAsync(Arg.Any <string>(), Arg.Any <CancellationToken>()).Returns(Task.FromResult(_workProvider));
            _workProviderFactory.PollingInterval.Returns(1);

            _scheduleProviderFactory = Substitute.For <IScheduleProviderFactory>();
            _scheduleProvider        = Substitute.For <IScheduleProvider>();
            _scheduleProviderFactory.CreateAsync(Arg.Any <string[]>(), Arg.Any <CancellationToken>()).Returns(Task.FromResult(_scheduleProvider));
            _scheduleProviderFactory.PollingInterval.Returns(1);

            _progressProviderFactory = Substitute.For <IProgressProviderFactory>();
            _progressProvider        = Substitute.For <IProgressProvider>();
            _progressProviderFactory.CreateAsync(Arg.Any <string[]>(), Arg.Any <CancellationToken>()).Returns(Task.FromResult(_progressProvider));

            Substitute.For <IWorkDispatcher>();
            Substitute.For <IPayloadSerializer>();
            _cronProvider = Substitute.For <ICronProvider>();
            _pipeline     = Substitute.For <IQuidjiboPipeline>();


            _sut = new QuidjiboServer(_loggerFactory, _quidjiboConfiguration, _workProviderFactory, _scheduleProviderFactory, _progressProviderFactory, _cronProvider, _pipeline);
        }
Beispiel #8
0
 public MovieListAdapter(IReadOnlyReactiveList <IMovieModel> list, IScheduleProvider scheduleProvider)
 {
     _list  = list;
     _inner = _list.Changed
              .Throttle(TimeSpan.FromMilliseconds(100))
              .ObserveOn(scheduleProvider.UiScheduler)
              .Subscribe(_ => NotifyDataSetChanged());
     HasStableIds = true;
 }
 public UserRepositoriesPageViewModel(IRepoService repoService, INavigationService navigationService, IScheduleProvider scheduleProvider)
 {
     _repoService = repoService;
     _navigationService = navigationService;
     _scheduleProvider = scheduleProvider;
     NavigateToCommitsCommand = new DelegateCommand<IRepoModel>(NavigateToCommits);
     WatchRepoCommand = new DelegateCommand<IRepoModel>(ToggleWatchRepo);
     RefreshCommand = new DelegateCommand(LoadRepos);
 }
Beispiel #10
0
 public AutoLightScheduler(ILogger <AutoLightScheduler> logger, IOptionsMonitor <HueShiftOptions> appOptionsDelegate, IOptionsMonitor <CustomScheduleOptions> scheduleOptionsDelegate,
                           ILightManager lightManager, IEnumerable <IScheduleProvider> scheduleProviders)
 {
     this.mode               = HueShiftMode.Auto;
     this.logger             = logger;
     this.appOptionsDelegate = appOptionsDelegate;
     this.scheduleProvider   = scheduleProviders.First(x => x.Mode() == this.mode);
     this.lightManager       = lightManager;
 }
        public void ScheduleProviderFactory_Build()
        {
            //set up
            HealthChecksSection healthChecksSection = HealthChecksSection.GetConfig();
            var healthCheck = healthChecksSection.HealthChecks["stop-start-windows-services"];
            //act
            IScheduleProvider scheduleProvider = ScheduleProviderFactory.Build(healthCheck.Schedule);

            //Accert
            Assert.AreEqual(scheduleProvider.IntervalType, FrequencyInterval.Weekly);
        }
        public void ScheduleProviderFactory_Build_IScheduleProvider_NextRunTime()
        {
            //set up
            HealthChecksSection healthChecksSection = HealthChecksSection.GetConfig();
            var healthCheck = healthChecksSection.HealthChecks["stop-start-windows-services"];
            //act
            IScheduleProvider scheduleProvider = ScheduleProviderFactory.Build(healthCheck.Schedule);
            DateTime          nextRunTime      = scheduleProvider.NextRunTime;

            //Accert
            //Assert.AreEqual(nextRunTime.Day, 1);
            Assert.IsNotNull(nextRunTime);
        }
        public void Init()
        {
            _loggerFactory           = Substitute.For <ILoggerFactory>();
            _scheduleProviderFactory = Substitute.For <IScheduleProviderFactory>();
            _scheduleProvider        = Substitute.For <IScheduleProvider>();
            _workProviderFactory     = Substitute.For <IWorkProviderFactory>();
            _workProvider            = Substitute.For <IWorkProvider>();
            _payloadSerializer       = Substitute.For <IPayloadSerializer>();
            _payloadProtector        = Substitute.For <IPayloadProtector>();
            _cronProvider            = Substitute.For <ICronProvider>();

            _sut = new QuidjiboClient(
                _loggerFactory,
                _workProviderFactory,
                _scheduleProviderFactory,
                _payloadSerializer,
                _payloadProtector,
                _cronProvider);
            _sut.Clear();
        }
Beispiel #14
0
        public SchedulerHostedService(
            ILogger <SchedulerHostedService> logger,
            IScheduler scheduler,
            ITimeProvider timeProvider,
            IScheduleProvider scheduleProvider,
            IHomeAssistantControl homeAssistantControl)
        {
            _logger               = logger;
            _tickPeriod           = TimeSpan.FromSeconds(1);
            _scheduler            = scheduler;
            _timeProvider         = timeProvider;
            _scheduledItems       = scheduleProvider.GetScheduledItems();
            _homeAssistantControl = homeAssistantControl;

            _logger.LogInformation("Scheduled Items:");
            foreach (var item in _scheduledItems)
            {
                _logger.LogInformation(item.ToString());
            }
        }
        public void AddOrUpdateJobInternal <TJob>(IScheduleProvider scheduleProvider, bool update = false,
                                                  bool add = true) where TJob : IJob
        {
            if (scheduleProvider == null)
            {
                throw new ArgumentNullException(nameof(scheduleProvider));
            }
            var jobType = typeof(TJob);
            var jobKey  = jobType.FullName ?? throw new NullReferenceException("jobKey");

            if (!add && !_jobs.ContainsKey(jobKey))
            {
                throw new Exception($"No job {jobKey} found for updating");
            }

            if (!update && _jobs.ContainsKey(jobKey))
            {
                throw new Exception($"Job {jobKey} already exists");
            }

            _jobs[jobKey]      = jobType;
            _schedules[jobKey] = scheduleProvider;
        }
Beispiel #16
0
 private AirportEngine CreateEngine(IScheduleProvider scheduleProvider)
 {
     return(CreateEngine(new FakeTimeManager(), scheduleProvider));
 }
 public ScheduleController(IScheduleProvider scheduleProvider)
 {
     _scheduleProvider = scheduleProvider;
 }
Beispiel #18
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="scheduleProvider"></param>
 /// <param name="mapper"></param>
 public ScheduleController(IScheduleProvider scheduleProvider, IMapper mapper) : base(mapper)
 {
     _scheduleProvider = scheduleProvider;
 }
Beispiel #19
0
 /// <summary>
 /// Updates schedule of the job.
 /// </summary>
 /// <param name="scheduleProvider">new ScheduleProvider</param>
 /// <typeparam name="TJob">Job Type</typeparam>
 public void UpdateSchedule <TJob>([NotNull] IScheduleProvider scheduleProvider) where TJob : IJob
 {
     AddOrUpdateJobInternal <TJob>(scheduleProvider, true, false);
     _logger.LogInformation("Schedule for job {jobKey} was updated", typeof(TJob));
 }
 public ReadOnlyStaticPlaceRepository(IEventProvider eventProvider, IScheduleProvider scheduleProvider, IProvider <Place> placeProvider)
 {
     _eventProvider    = eventProvider;
     _scheduleProvider = scheduleProvider;
     _placeProvider    = placeProvider;
 }
Beispiel #21
0
 /// <summary>
 /// Constructor to the HealthCheck Timer
 /// </summary>
 /// <param name="scheduleProvider">
 /// an implementation of an <see cref="IScheduleProvider"/> object
 /// </param>
 public HealthCheckTimer(IScheduleProvider scheduleProvider)
 {
     this.scheduleProvider = scheduleProvider;
     Interval = scheduleProvider.GetInterval;
 }
Beispiel #22
0
 private void AddOrUpdateJobInternal <TJob>(IScheduleProvider scheduleProvider, bool update, bool add)
     where TJob : IJob
 {
     _jobStorage.AddOrUpdateJobInternal <TJob>(scheduleProvider, update, add);
 }
Beispiel #23
0
 /// <summary>
 /// Adds or updates the job.
 /// </summary>
 /// <param name="scheduleProvider">ScheduleProvider</param>
 /// <typeparam name="TJob">Job Type</typeparam>
 public void AddOrUpdate <TJob>([NotNull] IScheduleProvider scheduleProvider) where TJob : IJob
 {
     AddOrUpdateJobInternal <TJob>(scheduleProvider, true, true);
 }
Beispiel #24
0
 private AirportEngine CreateEngine(ITimeManager timeManager, IScheduleProvider scheduleProvider)
 {
     return(new AirportEngine(scheduleProvider, timeManager, new PlaneCapacityProvider()));
 }
Beispiel #25
0
 /// <summary>
 /// Adds a job with a ScheduleProvider.
 /// </summary>
 /// <param name="scheduleProvider">provider/factory for schedule</param>
 /// <typeparam name="TJob">job type</typeparam>
 public void AddJob <TJob>([NotNull] IScheduleProvider scheduleProvider) where TJob : IJob
 {
     AddOrUpdateJobInternal <TJob>(scheduleProvider, false, true);
     _logger.LogInformation("Job {jobKey} was added", typeof(TJob));
 }
 public ScheduleManager(IScheduleProvider scheduleProvider)
 {
     _scheduleProvider = scheduleProvider;
     _splitRuleByBunch = new SplitRuleByBunch();
     _splitRuleByLevel = new SplitRuleByLevel();
 }
 public HomeController()
 {
     _scheduleProvider = new TextFileScheduleProvider();
 }
Beispiel #28
0
 public CommandInvoker(IScheduleProvider scheduleProvider)
 {
     this.scheduleProvider = scheduleProvider;
 }