public async Task LoadAndSave() { var rankRepository = new RankRepository(MongoClient); var playerRepository = new PlayerRepository(MongoClient); var ranks = new List <Rank> { new Rank(new List <string> { "peter#123" }, 1, 12, 1456, GateWay.America, GameMode.GM_1v1, 0) }; await rankRepository.InsertRanks(ranks); var player = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.America, GameMode.GM_1v1, 0); player.RecordWin(true, 1234); await playerRepository.UpsertPlayerOverview(player); await playerRepository.UpsertPlayerOverview(player); await playerRepository.UpsertPlayerOverview(player); var playerLoaded = await rankRepository.LoadPlayersOfLeague(1, 0, GateWay.America, GameMode.GM_1v1); Assert.AreEqual(1, playerLoaded.Count); Assert.AreEqual("0_peter#123@10_GM_1v1", playerLoaded[0].Players.First().Id); Assert.AreEqual(1, playerLoaded[0].Players.First().Wins); Assert.AreEqual(12, playerLoaded[0].RankNumber); Assert.AreEqual(1456, playerLoaded[0].RankingPoints); Assert.AreEqual(0, playerLoaded[0].Players.First().Losses); }
public async Task LoadPlayersOfLeague_RaceBasedMMR() { var rankRepository = new RankRepository(MongoClient); var playerRepository = new PlayerRepository(MongoClient); var ranks = new List <Rank> { new Rank(new List <string> { "peter#123" }, 1, 12, 1456, Race.HU, GateWay.Europe, GameMode.GM_1v1, 2), new Rank(new List <string> { "peter#123" }, 1, 8, 1456, Race.NE, GateWay.Europe, GameMode.GM_1v1, 2) }; await rankRepository.InsertRanks(ranks); var player1 = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.Europe, GameMode.GM_1v1, 2, Race.HU); await playerRepository.UpsertPlayerOverview(player1); var player2 = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.Europe, GameMode.GM_1v1, 2, Race.NE); await playerRepository.UpsertPlayerOverview(player2); var playerLoaded = await rankRepository.LoadPlayersOfLeague(1, 2, GateWay.Europe, GameMode.GM_1v1); Assert.AreEqual(2, playerLoaded.Count); }
public async Task LoadAndSave_NotDuplicatingWhenGoingUp() { var rankRepository = new RankRepository(MongoClient); var playerRepository = new PlayerRepository(MongoClient); var ranks1 = new List <Rank> { new Rank(new List <string> { "peter#123" }, 1, 12, 1456, GateWay.Europe, GameMode.GM_1v1, 0) }; var ranks2 = new List <Rank> { new Rank(new List <string> { "peter#123" }, 1, 8, 1456, GateWay.Europe, GameMode.GM_1v1, 0) }; await rankRepository.InsertRanks(ranks1); await rankRepository.InsertRanks(ranks2); var player = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.Europe, GameMode.GM_1v1, 0); await playerRepository.UpsertPlayerOverview(player); var playerLoaded = await rankRepository.LoadPlayersOfLeague(1, 0, GateWay.Europe, GameMode.GM_1v1); Assert.AreEqual(1, playerLoaded.Count); Assert.AreEqual(8, playerLoaded[0].RankNumber); }
public async Task SearchRanks_WithRaceSpecificRank_DifferentSeasons() { // Arrange var rankRepository = new RankRepository(MongoClient); var playerRepository = new PlayerRepository(MongoClient); var ranks = new List <Rank> { //old one new Rank(new List <string> { "peter#123" }, 1, 2, 1000, null, GateWay.America, GameMode.GM_1v1, 1), //mmr based new Rank(new List <string> { "peter#123" }, 1, 2, 1000, Race.HU, GateWay.America, GameMode.GM_1v1, 2), new Rank(new List <string> { "peter#123" }, 1, 3, 2000, Race.NE, GateWay.America, GameMode.GM_1v1, 2) }; await rankRepository.InsertRanks(ranks); var player1 = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.America, GameMode.GM_1v1, 1, null); player1.RecordWin(true, 1234); await playerRepository.UpsertPlayerOverview(player1); var player2 = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.America, GameMode.GM_1v1, 2, Race.HU); player2.RecordWin(true, 1234); await playerRepository.UpsertPlayerOverview(player2); var player3 = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.America, GameMode.GM_1v1, 2, Race.NE); player3.RecordWin(true, 1234); await playerRepository.UpsertPlayerOverview(player3); // Act var playerLoaded = await rankRepository.SearchPlayerOfLeague("ete", 1, GateWay.America, GameMode.GM_1v1); // Assert Assert.AreEqual(1, playerLoaded.Count); // Act var playerLoaded2 = await rankRepository.SearchPlayerOfLeague("ete", 2, GateWay.America, GameMode.GM_1v1); // Assert Assert.AreEqual(2, playerLoaded2.Count); }
public void SetValues() { RanksComboBox.ItemsSource = RankRepository.GetAll(); RanksComboBox.Text = employee.Rank.rank1.ToString(); FirstNameTextBox.Text = employee.firstName; LastNameTextBox.Text = employee.lastName; DateOfBirthDataPiker.SelectedDate = employee.dataOfBirth; PhoneNumberTextBox.Text = employee.phoneNumber; AddresTextBox.Text = employee.address; HireDateDataPiker.SelectedDate = employee.hireDate; }
public EventService(EventManagerContext context, IHttpContextAccessor httpContextAccessor) { _context = context; _httpContextAccessor = httpContextAccessor; Events = new EventRepository(_context); EventSeries = new EventSeriesRepository(_context); EventTypes = new EventTypeRepository(_context); Ranks = new RankRepository(_context); Users = new UserRepository(_context); Registrations = new RegistrationRepository(_context); _currentUser = Users.GetUserByLDAPName(_httpContextAccessor.HttpContext.User.Identity.Name.Split('\\')[1]); }
public async Task ReturnRanks_WhenPlayersHavePersonalSettingsConfigured_MustHaveCorrectPersonalSettings() { // Arrange var rankRepository = new RankRepository(MongoClient, personalSettingsProvider); var playerRepository = new PlayerRepository(MongoClient); var personalSettingsRepository = new PersonalSettingsRepository(MongoClient); var clanRepository = new ClanRepository(MongoClient); var queryHandler = new RankQueryHandler(rankRepository, playerRepository, clanRepository); var ranks = new List <Rank> { new Rank(new List <string> { "peter#123" }, 1, 12, 1456, null, GateWay.America, GameMode.GM_1v1, 1) }; await rankRepository.InsertRanks(ranks); var player = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.America, GameMode.GM_1v1, 1, null); player.RecordWin(true, 1234); await playerRepository.UpsertPlayerOverview(player); var playerStats = new PlayerOverallStats() { BattleTag = "peter#123", }; await playerRepository.UpsertPlayer(playerStats); var settings = new PersonalSetting("peter#123") { ProfilePicture = new ProfilePicture() { Race = AvatarCategory.HU, PictureId = 5 }, Country = "BG" }; await personalSettingsRepository.Save(settings); // Act var playerLoaded = await queryHandler.LoadPlayersOfLeague(1, 1, GateWay.America, GameMode.GM_1v1); // Assert Assert.AreEqual(1, playerLoaded.Count); var playerRank = playerLoaded[0]; Assert.AreEqual("1_peter#123@10_GM_1v1", playerRank.Players.First().Id); Assert.AreEqual(playerRank.PlayersInfo[0].SelectedRace, AvatarCategory.HU); Assert.AreEqual(playerRank.PlayersInfo[0].PictureId, 5); Assert.AreEqual(playerRank.PlayersInfo[0].Country, "BG"); }
public async Task ReturnRanks_WithRaceSpecificRank() { // Arrange var rankRepository = new RankRepository(MongoClient); var playerRepository = new PlayerRepository(MongoClient); var queryHandler = new RankQueryHandler(rankRepository, playerRepository, new ClanRepository(MongoClient)); var ranks = new List <Rank> { new Rank(new List <string> { "peter#123" }, 1, 2, 1000, Race.HU, GateWay.America, GameMode.GM_1v1, 2), new Rank(new List <string> { "peter#123" }, 1, 3, 2000, Race.NE, GateWay.America, GameMode.GM_1v1, 2) }; await rankRepository.InsertRanks(ranks); var player1 = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.America, GameMode.GM_1v1, 2, Race.HU); player1.RecordWin(true, 1234); await playerRepository.UpsertPlayerOverview(player1); var player2 = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.America, GameMode.GM_1v1, 2, Race.NE); player2.RecordWin(true, 1234); await playerRepository.UpsertPlayerOverview(player2); // Act var playerLoaded = await queryHandler.LoadPlayersOfLeague(1, 2, GateWay.America, GameMode.GM_1v1); // Assert Assert.AreEqual(2, playerLoaded.Count); Assert.AreEqual("peter#123", playerLoaded[0].Player.PlayerIds.Single().BattleTag); Assert.AreEqual("peter#123", playerLoaded[1].Player.PlayerIds.Single().BattleTag); }
public async Task RaceBasedMMRUpdate() { var matchEventRepository = new MatchEventRepository(MongoClient); var rankRepository = new RankRepository(MongoClient); var playerRepository = new PlayerRepository(MongoClient); var matchFinishedEvent = TestDtoHelper.CreateFakeEvent(); var rankingChangedEvent = TestDtoHelper.CreateRankChangedEvent(); matchFinishedEvent.match.players[0].battleTag = "peTer#123"; matchFinishedEvent.match.players[0].race = Race.NE; matchFinishedEvent.match.gameMode = GameMode.GM_1v1; matchFinishedEvent.match.season = 2; matchFinishedEvent.match.gateway = GateWay.America; rankingChangedEvent.ranks[0].battleTags = new List <string> { "peTer#123" }; rankingChangedEvent.ranks[0].race = Race.NE; rankingChangedEvent.gateway = GateWay.America; rankingChangedEvent.gameMode = GameMode.GM_1v1; rankingChangedEvent.season = 2; await InsertRankChangedEvent(rankingChangedEvent); await matchEventRepository.InsertIfNotExisting(matchFinishedEvent); var playOverviewHandler = new PlayOverviewHandler(playerRepository); await playOverviewHandler.Update(matchFinishedEvent); var rankHandler = new RankSyncHandler(rankRepository, matchEventRepository); await playOverviewHandler.Update(matchFinishedEvent); await rankHandler.Update(); var rank = await rankRepository.SearchPlayerOfLeague("peT", 2, GateWay.America, GameMode.GM_1v1); Assert.AreEqual(1, rank.Count); Assert.AreEqual(Race.NE, rank[0].Race); }
public async Task LoadAndSave_NotFound() { var rankRepository = new RankRepository(MongoClient); var playerRepository = new PlayerRepository(MongoClient); var ranks = new List <Rank> { new Rank(new List <string> { "peter#123" }, 1, 12, 1456, GateWay.Europe, GameMode.GM_1v1, 0) }; await rankRepository.InsertRanks(ranks); var player = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.Europe, GameMode.GM_1v1, 0); await playerRepository.UpsertPlayerOverview(player); var playerLoaded = await rankRepository.LoadPlayersOfLeague(1, 0, GateWay.America, GameMode.GM_1v1); Assert.IsEmpty(playerLoaded); }
public async Task ReturnRanks_ClanGetsResolved() { // Arrange var rankRepository = new RankRepository(MongoClient); var playerRepository = new PlayerRepository(MongoClient); var clanRepository = new ClanRepository(MongoClient); var queryHandler = new RankQueryHandler(rankRepository, playerRepository, clanRepository); var ranks = new List <Rank> { new Rank(new List <string> { "peter#123" }, 1, 12, 1456, GateWay.America, GameMode.GM_1v1, 1) }; await rankRepository.InsertRanks(ranks); var player = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.America, GameMode.GM_1v1, 1); player.RecordWin(true, 1234); await playerRepository.UpsertPlayerOverview(player); var playerStats = new PlayerOverallStats() { BattleTag = "peter#123", }; await playerRepository.UpsertPlayer(playerStats); await clanRepository.UpsertMemberShip(new ClanMembership { BattleTag = "peter#123", ClanId = "W3C" }); // Act var playerLoaded = await queryHandler.LoadPlayersOfLeague(1, 1, GateWay.America, GameMode.GM_1v1); // Assert Assert.AreEqual(1, playerLoaded.Count); var playerRank = playerLoaded[0]; Assert.AreEqual("W3C", playerRank.PlayersInfo.Single().ClanId); }
public async Task ReturnRanks_WhenPlayersDoNotHavePersonalSettingsConfigured_MustHaveNotThrowError() { // Arrange var rankRepository = new RankRepository(MongoClient); var playerRepository = new PlayerRepository(MongoClient); var clanRepository = new ClanRepository(MongoClient); var queryHandler = new RankQueryHandler(rankRepository, playerRepository, clanRepository); var ranks = new List <Rank> { new Rank(new List <string> { "peter#123" }, 1, 12, 1456, GateWay.America, GameMode.GM_1v1, 1) }; await rankRepository.InsertRanks(ranks); var player = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.America, GameMode.GM_1v1, 1); player.RecordWin(true, 1234); await playerRepository.UpsertPlayerOverview(player); var playerStats = new PlayerOverallStats() { BattleTag = "peter#123", }; await playerRepository.UpsertPlayer(playerStats); // Act var playerLoaded = await queryHandler.LoadPlayersOfLeague(1, 1, GateWay.America, GameMode.GM_1v1); // Assert Assert.AreEqual(1, playerLoaded.Count); var playerRank = playerLoaded[0]; Assert.AreEqual("1_peter#123@10_GM_1v1", playerRank.Players.First().Id); }
public async Task RankIntegrationWithMultipleIds() { var matchEventRepository = new MatchEventRepository(MongoClient); var rankRepository = new RankRepository(MongoClient, personalSettingsProvider); var playerRepository = new PlayerRepository(MongoClient); var matchFinishedEvent = TestDtoHelper.CreateFakeEvent(); var rankingChangedEvent = TestDtoHelper.CreateRankChangedEvent(); matchFinishedEvent.match.players[0].battleTag = "peTer#123"; matchFinishedEvent.match.gameMode = GameMode.GM_1v1; matchFinishedEvent.match.gateway = GateWay.America; rankingChangedEvent.ranks[0].battleTags = new List <string> { "peTer#123" }; rankingChangedEvent.gateway = GateWay.America; rankingChangedEvent.gameMode = GameMode.GM_1v1; await InsertRankChangedEvent(rankingChangedEvent); await matchEventRepository.InsertIfNotExisting(matchFinishedEvent); var playOverviewHandler = new PlayOverviewHandler(playerRepository); await playOverviewHandler.Update(matchFinishedEvent); var rankHandler = new RankSyncHandler(rankRepository, matchEventRepository); await playOverviewHandler.Update(matchFinishedEvent); await rankHandler.Update(); var rank = await rankRepository.SearchPlayerOfLeague("peT", 0, GateWay.America, GameMode.GM_1v1); Assert.AreEqual(1, rank.Count); }
public RankBusiness() { rankRepository = new RankRepository(); }
public RankService() { _rankRepository = new RankRepository(); _questionRepository = new QuestionRepository(); _answerRepository = new AnswerRepository(); }