public ScheduledMessageService( IOptions <ScheduledMessageServiceAppSettings> appSettings , IBulkMessagingTelegramClient bulkMessagingTelegramClient , ITelegramClient telegramClient , ILogger <ScheduledMessageService> logger , IMonitoringManager monitoringManager , IDateTimeGenerator dateTimeGenerator , IUserStorage userStorage , IMessageSchedule messageSchedule , IRarityRoller rarityRoller , IEventManager eventManager ) { _appSettings = appSettings.Value; _bulkMessagingTelegramClient = bulkMessagingTelegramClient; _telegramClient = telegramClient; _logger = logger; _monitoringManager = monitoringManager; _dateTimeGenerator = dateTimeGenerator; _userStorage = userStorage; _messageSchedule = messageSchedule; _rarityRoller = rarityRoller; _eventManager = eventManager; _logger.LogInformation($"Initializing scheduled messaging service..."); // get message count from personal settings MessageCounts = new Dictionary <PartOfDay, int> { [PartOfDay.Night] = _appSettings.NightMessagesCount, [PartOfDay.Morning] = _appSettings.MorningMessagesCount, [PartOfDay.Afternoon] = _appSettings.AfternoonMessagesCount, [PartOfDay.Evening] = _appSettings.EveningMessagesCount }; }
public DoubleUserStorage( ILogger <DoubleUserStorage> logger , IOptions <ScheduledMessageServiceAppSettings> appSettings , IBoyfriendBotDbContextFactory dbContextFactory ) { _logger = logger; _scheduledMessageServiceAppSettings = appSettings.Value; _dbContextFactory = dbContextFactory; using (var context = _dbContextFactory.Create()) { var dbos = context.User.ToList(); dbos.ForEach(x => _userCache.Add(x.UserId, x.ChatId)); } }