public async Task LoadClan_PopulateRanks() { var clan = await CreateFoundedClanForTest(); await _rankRepository.UpsertSeason(new Season(0)); await _rankRepository.UpsertSeason(new Season(1)); await _rankRepository.InsertRanks(new List <Rank> { new Rank(new List <string> { clan.Members[0] }, 1, 5, 1500, null, GateWay.Europe, GameMode.GM_1v1, 1) }); await _rankRepository.InsertLeagues(new List <LeagueConstellation> { new LeagueConstellation(1, GateWay.Europe, GameMode.GM_1v1, new List <League> { new League(1, 2, "Wood", 5) }) }); var playerRepository = new PlayerRepository(MongoClient); await playerRepository.UpsertPlayerOverview(PlayerOverview.Create(new List <PlayerId> { PlayerId.Create(clan.Members[0]) }, GateWay.Europe, GameMode.GM_1v1, 1, null)); var clanLoaded = await _handler.LoadClan(clan.ClanId); Assert.AreEqual(1, clanLoaded.Ranks.First().League); Assert.AreEqual(2, clanLoaded.Ranks.First().LeagueOrder); Assert.AreEqual("Wood", clanLoaded.Ranks.First().LeagueName); Assert.AreEqual(5, clanLoaded.Ranks.First().LeagueDivision); }
public async Task Update() { var loadLeagueConstellation = await _matchEventRepository.LoadLeagueConstellationChanged(); var leagueConstellations = loadLeagueConstellation.Select(l => new LeagueConstellation(l.season, l.gateway, l.gameMode, l.leagues.Select(le => new League(le.id, le.order, le.name.Replace("League", "").Trim(), le.division) ).OrderBy(l => l.Order).ThenBy(l => l.Division).ToList().ToList()) ).ToList(); await _rankRepository.InsertLeagues(leagueConstellations); if (leagueConstellations.Any()) { await _rankRepository.UpsertSeason(new Season(leagueConstellations.Max(l => l.Season))); } }