Exemple #1
0
        private void ScheduleRegularRefreshImports()
        {
            var scheduler       = ServiceRegistration.Get <ITaskScheduler>();
            var settingsManager = ServiceRegistration.Get <ISettingsManager>();

            _importerTaskId = _settings.Settings.ImporterScheduleId;

            // Allow removal of existing import tasks
            if (!_settings.Settings.EnableAutoRefresh)
            {
                if (_importerTaskId != Guid.Empty)
                {
                    scheduler.RemoveTask(_importerTaskId);
                    _importerTaskId = _settings.Settings.ImporterScheduleId = Guid.Empty;
                    settingsManager.Save(_settings.Settings);
                }
                return;
            }

            var schedule = new Schedule
            {
                Hour   = (int)_settings.Settings.ImporterStartTime,
                Minute = (int)((_settings.Settings.ImporterStartTime - (int)_settings.Settings.ImporterStartTime) * 60),
                Day    = -1,
                Type   = ScheduleType.TimeBased
            };

            var importTask = new Common.TaskScheduler.Task("ImporterWorker", schedule, Occurrence.Repeat, DateTime.MaxValue, true, true);

            if (_importerTaskId == Guid.Empty)
            {
                _importerTaskId = scheduler.AddTask(importTask);
                _settings.Settings.ImporterScheduleId = _importerTaskId;
                settingsManager.Save(_settings.Settings);
            }
            else
            {
                scheduler.UpdateTask(_importerTaskId, importTask);
            }
        }
    private void ScheduleRegularRefreshImports()
    {
      var scheduler = ServiceRegistration.Get<ITaskScheduler>();
      var settingsManager = ServiceRegistration.Get<ISettingsManager>();
      _importerTaskId = _settings.Settings.ImporterScheduleId;

      // Allow removal of existing import tasks
      if (!_settings.Settings.EnableAutoRefresh)
      {
        if (_importerTaskId != Guid.Empty)
        {
          scheduler.RemoveTask(_importerTaskId);
          _importerTaskId = _settings.Settings.ImporterScheduleId = Guid.Empty;
          settingsManager.Save(_settings.Settings);
        }
        return;
      }

      var schedule = new Schedule
      {
        Hour = (int)_settings.Settings.ImporterStartTime,
        Minute = (int)((_settings.Settings.ImporterStartTime - (int)_settings.Settings.ImporterStartTime) * 60),
        Day = -1,
        Type = ScheduleType.TimeBased
      };

      var importTask = new Common.TaskScheduler.Task("ImporterWorker", schedule, Occurrence.Repeat, DateTime.MaxValue, true, true);
      if (_importerTaskId == Guid.Empty)
      {
        _importerTaskId = scheduler.AddTask(importTask);
        _settings.Settings.ImporterScheduleId = _importerTaskId;
        settingsManager.Save(_settings.Settings);
      }
      else
        scheduler.UpdateTask(_importerTaskId, importTask);
    }