internal static ScheduledTask CreateDatabaseMaintenanceTask(
            ISubscriptionManager subscriptionManager)
        {
            string   empty = string.Empty;
            DateTime dateTime;

            try
            {
                empty    = SettingsDAL.Get("SWNetPerfMon-Settings-Archive Time");
                dateTime = DateTime.FromOADate(double.Parse(empty));
            }
            catch (Exception ex)
            {
                dateTime = DateTime.MinValue.Date.AddHours(2.0).AddMinutes(15.0);
                ScheduledTaskFactory.log.ErrorFormat("DB maintenance time setting is not set or is not correct. Setting value is {0}. \nException: {1}", (object)empty, (object)ex);
            }
            ScheduledTaskInExactTime task = new ScheduledTaskInExactTime("DatabaseMaintenance", new TimerCallback(ScheduledTaskFactory.RunDatabaseMaintenace), (object)null, dateTime);

            if (subscriptionManager != null)
            {
                SubscriptionId subscriptionId;
                ((SubscriptionId) ref subscriptionId).\u002Ector("Core", typeof(ScheduledTaskFactory).FullName, (Scope)0);
                SubscriberConfiguration subscriberConfiguration1 = new SubscriberConfiguration();
                subscriberConfiguration1.set_SubscriptionQuery("SUBSCRIBE CHANGES TO Orion.Settings WHEN SettingsID = 'SWNetPerfMon-Settings-Archive Time'");
                SubscriberConfiguration       subscriberConfiguration2 = subscriberConfiguration1;
                SettingsArchiveTimeSubscriber archiveTimeSubscriber    = new SettingsArchiveTimeSubscriber(task);
                subscriptionManager.Subscribe(subscriptionId, (ISubscriber)archiveTimeSubscriber, subscriberConfiguration2);
            }
            else
            {
                ScheduledTaskFactory.log.Error((object)"SubscribtionProvider is not initialized.");
            }
            return((ScheduledTask)task);
        }
        // Token: 0x060003EA RID: 1002 RVA: 0x0001B680 File Offset: 0x00019880
        internal static ScheduledTask CreateDatabaseMaintenanceTask(InformationServiceSubscriptionProviderBase subscribtionProvider)
        {
            string   text = string.Empty;
            DateTime dateTime;

            try
            {
                text     = SettingsDAL.Get("SWNetPerfMon-Settings-Archive Time");
                dateTime = DateTime.FromOADate(double.Parse(text));
            }
            catch (Exception ex)
            {
                dateTime = DateTime.MinValue.Date.AddHours(2.0).AddMinutes(15.0);
                ScheduledTaskFactory.log.ErrorFormat("DB maintenance time setting is not set or is not correct. Setting value is {0}. \nException: {1}", text, ex);
            }
            ScheduledTaskInExactTime scheduledTaskInExactTime = new ScheduledTaskInExactTime("DatabaseMaintenance", new TimerCallback(ScheduledTaskFactory.RunDatabaseMaintenace), null, dateTime);

            if (subscribtionProvider != null)
            {
                SettingsArchiveTimeSubscriber settingsArchiveTimeSubscriber = new SettingsArchiveTimeSubscriber(scheduledTaskInExactTime);
                subscribtionProvider.Subscribe("SUBSCRIBE CHANGES TO Orion.Settings WHEN SettingsID = 'SWNetPerfMon-Settings-Archive Time'", settingsArchiveTimeSubscriber, new SubscriptionOptions
                {
                    Description = "SettingsArchiveTimeSubscriber"
                });
            }
            else
            {
                ScheduledTaskFactory.log.Error("SubscribtionProvider is not initialized.");
            }
            return(scheduledTaskInExactTime);
        }