public async void Refresh() { var refreshToken = _getSettingRepository.Get <string>("StreamLabsRefreshToken"); if (string.IsNullOrWhiteSpace(refreshToken)) { return; } var vals = new Dictionary <string, string> { { "grant_type", "refresh_token" }, { "client_id", _secretService.GetSecret <string>("StreamLabsClientId") }, { "client_secret", _secretService.GetSecret <string>("StreamLabsClientSecret") }, { "redirect_uri", "localhost" }, { "refresh_token", refreshToken } }; var encodedContent = new FormUrlEncodedContent(vals); var client = new HttpClient(); var getTokenResponse = await client.PostAsync("https://streamlabs.com/api/v1.0/token", encodedContent); var tokenJsonString = await getTokenResponse.Content.ReadAsStringAsync(); var tokenModel = JsonConvert.DeserializeObject <StreamLabsTokenIntermediate>(tokenJsonString); _setOrCreateSettingRepository.Set("StreamLabsAccessToken", tokenModel.Token); _setOrCreateSettingRepository.Set("StreamLabsRefreshToken", tokenModel.RefreshToken); }
public void Save(List <StreamLabsDonationIntermediate> donations) { var latestDonationId = donations.OrderByDescending(d => d.CreateAt).FirstOrDefault()?.DonationId ?? 0; if (latestDonationId == 0) { return; } var groupedDonations = donations .OrderByDescending(d => d.CreateAt) .GroupBy(d => d.Name.ToLower()) .Select(d => new { name = d.First().Name.ToLower(), amount = (int)Math.Round(d.Sum(rec => rec.Amount) * 100) }); using (var context = _chatbotContextFactory.Create()) { foreach (var donation in groupedDonations) { var user = context.GetOrCreateUser(donation.name); user.TotalDonated += donation.amount; } context.SaveChanges(); } _setOrCreateSettingRepository.Set("LatestDonationId", latestDonationId.ToString()); }
public bool UpdatePlaylistState(PlaylistState state) { switch (state) { case PlaylistState.VeryClosed: _setOrCreateSettingRepository.Set("PlaylistStatus", "VeryClosed"); return(true); case PlaylistState.Closed: _setOrCreateSettingRepository.Set("PlaylistStatus", "Closed"); return(true); case PlaylistState.Open: _setOrCreateSettingRepository.Set("PlaylistStatus", "Open"); return(true); default: return(false); } }
public void Update(string key, string value) { _setOrCreateSettingRepository.Set(key, value); }
public void Set(bool value) { _setOrCreateSettingRepository.Set(SettingsKeys.GuessingGameStateSettingKey, value.ToString().ToLower()); }