public LeaderboardIntegrationService(string apiKey) { this.apiKey = apiKey; leaderboard = new BattleNetService(); requests = new RequestService(data); data = new QueueDodgeDB(); }
public async Task <Leaderboard> GetActivity(string bracket, Locale locale, BattleDotSwag.Region region) { var service = new BattleNetService <Leaderboard>(); var endpoint = new LeaderboardEndpoint(bracket, locale, apiKey); var leaderboard = await service.Get(endpoint, region); return(leaderboard); }
public async Task GetRecentActivity( string bracket, BattleDotSwag.Locale locale, BattleDotSwag.Region region, string key, IMemoryCache cache, Func<string, Task> Send) { var endpoint = new LeaderboardEndpoint(bracket, locale, key); var requestor = new BattleNetService(); var leaderboard = new List<LadderEntry>(); var request = new QueueDodge.Models.BattleNetRequest() { Bracket = bracket, Locale = locale.ToString(), RegionID = (int)region, RequestDate = DateTime.Now, RequestType = "leaderboard", Url = requestor.GetUri(endpoint, region).ToString(), Duration = 0 }; var addedRequest = data.BattleNetRequests.Add(request).Entity; data.SaveChanges(); var json = requestor.Get(endpoint, region).Result; var ladder = JsonConvert.DeserializeObject<Leaderboard>(json); foreach(var entry in ladder.Rows) { var ladderEntry = new LadderEntry(entry, addedRequest); leaderboard.Add(ladderEntry); CompareWithCache(ladderEntry, cache, Send); }; cache.Set(region + ":" + bracket, leaderboard); }
private void Realms() { var service = new BattleNetService <Leaderboard>(); var endpoint = new LeaderboardEndpoint("3v3", Locale.en_us, options.apiKey); var data = service.Get(endpoint, BattleDotSwag.Region.us).Result; var region = queueDodge.Regions.Where(p => p.ID == 1).Single(); var realms = new List <Realm>(); foreach (var row in data.Rows) { var newRealm = realms.Where(p => p.ID == row.RealmID).Count() == 0; if (newRealm && row.RealmID > 0) { var realm = new Realm(row.RealmID, row.RealmName, row.RealmSlug, region.ID); realms.Add(realm); } } queueDodge.Realms.AddRange(realms); queueDodge.SaveChanges(); }
public UsersController(BattleNetService armory, UserService userService) { this.armory = armory; this.userService = userService; }
public ConquestIntegrationService() { conquestCapService = new BattleNetService<ConquestCap>(); data = new QueueDodgeDB(); requests = new RequestService(data); }