public static void LoadCacheData() { Data.Utils.Logging.AddLog(new Models.SystemLog() { LoggerName = CacheData.LoggerName, Date = DateTime.Now, Function = "Unifiedban Terminal Startup", Level = Models.SystemLog.Levels.Info, Message = "Loading cache", UserId = -2 }); Data.Utils.Logging.AddLog(new Models.SystemLog() { LoggerName = CacheData.LoggerName, Date = DateTime.Now, Function = "Unifiedban Terminal Startup", Level = Models.SystemLog.Levels.Info, Message = "Get translations", UserId = -2 }); CacheData.ControlChatId = Convert.ToInt64(CacheData.SysConfigs .Single(x => x.SysConfigId == "ControlChatId") .Value); if (!InitializeTranslations()) { CacheData.FatalError = true; return; } LoadPlugins(); LoadFiltersData(); Data.Utils.Logging.AddLog(new Models.SystemLog() { LoggerName = CacheData.LoggerName, Date = DateTime.Now, Function = "Unifiedban Terminal Startup", Level = Models.SystemLog.Levels.Info, Message = "Get default group configuration parameters", UserId = -2 }); BusinessLogic.Group.ConfigurationParameterLogic configurationParameterLogic = new BusinessLogic.Group.ConfigurationParameterLogic(); CacheData.GroupDefaultConfigs = new List <Models.Group.ConfigurationParameter>(configurationParameterLogic.Get()); Data.Utils.Logging.AddLog(new Models.SystemLog() { LoggerName = CacheData.LoggerName, Date = DateTime.Now, Function = "Unifiedban Terminal Startup", Level = Models.SystemLog.Levels.Info, Message = "Get registered groups", UserId = -2 }); BusinessLogic.Group.TelegramGroupLogic telegramGroupLogic = new BusinessLogic.Group.TelegramGroupLogic(); foreach (Models.Group.TelegramGroup group in telegramGroupLogic.Get()) { CacheData.Groups.Add(group.TelegramChatId, group); try { CacheData.GroupConfigs.Add( group.TelegramChatId, JsonConvert .DeserializeObject < List <Models.Group.ConfigurationParameter> >(group.Configuration)); AddMissingConfiguration(group.TelegramChatId); /* * To be used to enable messages to Group's Control Chat/Channel * Bot.MessageQueueManager.AddChatIfNotPresent( * Convert.ToInt64(CacheData.GroupConfigs[group.TelegramChatId] * .SingleOrDefault(x => x.ConfigurationParameterId == "ControlChatId").Value)); */ } catch (Exception ex) { Data.Utils.Logging.AddLog(new Models.SystemLog() { LoggerName = CacheData.LoggerName, Date = DateTime.Now, Function = "Unifiedban Terminal Startup", Level = Models.SystemLog.Levels.Error, Message = $"Impossible to load group {group.TelegramChatId} " + $"configuration:\n {ex.Message}", UserId = -1 }); } Bot.MessageQueueManager.AddGroupIfNotPresent(group); } Data.Utils.Logging.AddLog(new Models.SystemLog() { LoggerName = CacheData.LoggerName, Date = DateTime.Now, Function = "Unifiedban Terminal Startup", Level = Models.SystemLog.Levels.Info, Message = "Get banned users", UserId = -2 }); BusinessLogic.User.BannedLogic bannedLogic = new BusinessLogic.User.BannedLogic(); CacheData.BannedUsers = new List <Models.User.Banned>(bannedLogic.Get()); Data.Utils.Logging.AddLog(new Models.SystemLog() { LoggerName = CacheData.LoggerName, Date = DateTime.Now, Function = "Unifiedban Terminal Startup", Level = Models.SystemLog.Levels.Info, Message = "Get night schedule", UserId = -2 }); BusinessLogic.Group.NightScheduleLogic nsl = new BusinessLogic.Group.NightScheduleLogic(); foreach (NightSchedule nightSchedule in nsl.Get()) { CacheData.NightSchedules.Add(nightSchedule.GroupId, nightSchedule); } Data.Utils.Logging.AddLog(new Models.SystemLog() { LoggerName = CacheData.LoggerName, Date = DateTime.Now, Function = "Unifiedban Terminal Startup", Level = Models.SystemLog.Levels.Info, Message = "Get trust points", UserId = -2 }); BusinessLogic.User.TrustFactorLogic tfl = new BusinessLogic.User.TrustFactorLogic(); foreach (TrustFactor trustFactor in tfl.Get()) { if (!CacheData.TrustFactors.ContainsKey(trustFactor.TelegramUserId)) { CacheData.TrustFactors.Add(trustFactor.TelegramUserId, trustFactor); } } Data.Utils.Logging.AddLog(new Models.SystemLog() { LoggerName = CacheData.LoggerName, Date = DateTime.Now, Function = "Unifiedban Terminal Startup", Level = Models.SystemLog.Levels.Info, Message = "Cache loaded", UserId = -2 }); }