private CurrencyUserModel GetCurrencyInfo(string user, string channel) { user = user.ToLower(); var currencyInfo = _database.Table<CurrencyUserModel>().FirstOrDefault(u => u.ChannelName.Equals(channel) && u.NickName.Equals(user.ToLower())); if (currencyInfo == null) { currencyInfo = new CurrencyUserModel { UsedCurrency = 0, TotalCurrency = 0, NickName = user, ChannelName = channel }; _database.Insert(currencyInfo); } return currencyInfo; }
private void _timer_Elapsed(object sender, ElapsedEventArgs e) { foreach (var channel in _onlineChannelsList) { _logger.Write($"Updating loyalty currency for channel {channel}"); var channelInfo = _config.Channels.FirstOrDefault(c => c.ChannelName.Equals(channel)); foreach (var user in _ircClient.Channels[channel].Users) { if (IsIgnored(user.Nick, channel)) continue; var currencyInfo = _database.Table<CurrencyUserModel>().FirstOrDefault(u => u.ChannelName.Equals(channel) && u.NickName.Equals(user.Nick)); if (currencyInfo == null) { currencyInfo = new CurrencyUserModel { ChannelName = channel, NickName = user.Nick.ToLower(), TotalCurrency = channelInfo.PointsPerMinute, UsedCurrency = 0 }; _database.Insert(currencyInfo); } else { currencyInfo.TotalCurrency += channelInfo.PointsPerMinute; _database.Update(currencyInfo); } _logger.Write($"{currencyInfo.NickName} now have {currencyInfo.AvailableAmount} {channelInfo.CurrencyName} on {channel}"); } } }
private void _timer_Elapsed(object sender, ElapsedEventArgs e) { foreach (var channel in _onlineChannelsList) { _logger.Write($"Updating currency for channel {channel}"); foreach (var user in _ircClient.Channels[channel].Users) { var currencyInfo = _database.Table<CurrencyUserModel>().FirstOrDefault(u => u.ChannelName.Equals(channel) && u.NickName.Equals(user.Nick)); if (currencyInfo == null) { currencyInfo = new CurrencyUserModel { ChannelName = channel, NickName = user.Nick, TotalCurrency = PointsPerMinute, UsedCurrency = 0 }; _database.Insert(currencyInfo); } else { currencyInfo.TotalCurrency += PointsPerMinute; _database.Update(currencyInfo); } _logger.Write($"{currencyInfo.NickName} now have {currencyInfo.TotalCurrency - currencyInfo.UsedCurrency} points on {channel}"); } } }