public async Task <IActionResult> GetPersonalSetting(string battleTag) { var setting = await _personalSettingsRepository.Load(battleTag); if (setting == null) { var player = await _playerRepository.LoadPlayerProfile(battleTag); return(Ok(new PersonalSetting(battleTag) { Players = new List <PlayerOverallStats> { player } })); } return(Ok(setting)); }
public async Task <IActionResult> GetPlayer([FromRoute] string battleTag) { var playersClan = await _clanRepository.LoadMemberShip(battleTag); var settings = await _personalSettingsRepository.Load(battleTag); return(Ok(new ChatDetailsDto(playersClan?.ClanId, settings?.ProfilePicture))); }
public async Task UpdateLocation(PlayerMMrChange player) { if (!string.IsNullOrEmpty(player.country)) { var setting = await _personalSettingsRepository.Load(player.battleTag) ?? new PersonalSetting(player.battleTag); setting.Location = player.country; await _personalSettingsRepository.Save(setting); } }
public async Task <IActionResult> GetPlayer([FromRoute] string battleTag, [FromQuery] string authorization) { var player = await _playerRepository.LoadPlayerProfile(battleTag); if (player == null && authorization != null) { var user = _authenticationService.GetUserByToken(authorization); if (user == null) { return(Unauthorized("Sorry Hackerboi")); } player = PlayerOverallStats.Create(battleTag); } // Akas are stored in cache - preferences for showing akas are stored in DB var settings = await _personalSettingsRepository.Load(battleTag); player.PlayerAkaData = _playerAkaProvider.GetAkaDataByPreferences(battleTag, settings); await _playerRepository.UpsertPlayer(player); return(Ok(player)); }
public async Task <bool> UpdatePicture(string battleTag, SetPictureCommand command) { var setting = await _personalSettingsRepository.Load(battleTag); if (setting == null) { var playerProfile = await _playerRepository.LoadPlayerProfile(battleTag); setting = new PersonalSetting(battleTag, new List <PlayerOverallStats> { playerProfile }); } var result = setting.SetProfilePicture(command); if (!result) { return(false); } await _personalSettingsRepository.Save(setting); return(true); }
public async Task Update() { var nextEvents = await _eventRepository.LoadStartedMatches(); while (nextEvents.Any()) { foreach (var nextEvent in nextEvents) { if (nextEvent.match.gameMode != CommonValueObjects.GameMode.CUSTOM) { var matchup = OnGoingMatchup.Create(nextEvent); foreach (var team in matchup.Teams) { foreach (var player in team.Players) { var foundMatchForPlayer = await _matchRepository.LoadOnGoingMatchForPlayer(player.BattleTag); if (foundMatchForPlayer != null) { await _matchRepository.DeleteOnGoingMatch(foundMatchForPlayer.MatchId); } var personalSettings = await _personalSettingsRepository.Load(player.BattleTag); if (personalSettings != null) { player.CountryCode = personalSettings.CountryCode; } } } await _matchRepository.InsertOnGoingMatch(matchup); } await _eventRepository.DeleteStartedEvent(nextEvent.Id); } nextEvents = await _eventRepository.LoadStartedMatches(); } }