public IActionResult DeleteHeroesByPlayerId(int playerId, PlayerHeroViewModel playerHeroViewModel)
        {
            var _playerHero = _playerHeroRepository.GetSingle(x => x.HeroId == playerHeroViewModel.HeroId && x.PlayerId == playerId);

            _playerHeroRepository.Delete(_playerHero);
            return(new OkObjectResult(_playerHero.Id));
        }
Esempio n. 2
0
        public List <PlayerHeroViewModel> GetHeroListForPlayerN(List <MatchDetail> matches, List <PlayerHeroViewModel> heroes, int playerIndex)
        {
            var affiliationHelper = new AffiliationHelper();

            foreach (var match in matches)
            {
                try
                {
                    var player = match.players[playerIndex];
                    var hero   = heroes.Where(h => h.Name == player.hero.localized_name).FirstOrDefault();
                    if (hero != null)
                    {
                        ModifyHeroStatsBasedOnGame(match, player, hero);
                    }
                    else
                    {
                        hero = new PlayerHeroViewModel(player.hero.localized_name);
                        ModifyHeroStatsBasedOnGame(match, player, hero);
                        heroes.Add(hero);
                    }
                }
                catch {}
            }
            return(heroes);
        }
        public IActionResult UpdateHeroesByPlayerId(int playerId, [FromBody] PlayerHeroViewModel playerHeroViewModel)
        {
            var _playerHero = _playerHeroRepository.GetSingle(x => x.HeroId == playerHeroViewModel.HeroId && x.PlayerId == playerId);

            _playerHero.TranscendentTier  = playerHeroViewModel.TranscendentTier;
            _playerHero.UniqueWeaponStars = playerHeroViewModel.UniqueWeaponStars;
            _playerHeroRepository.Commit();
            return(new OkObjectResult(_playerHero));
        }
Esempio n. 4
0
 private void ModifyHeroStatsBasedOnGame(MatchDetail match, Player player, PlayerHeroViewModel hero)
 {
     hero.GamesPlayed   += 1;
     hero.Kills         += player.kills;
     hero.Deaths        += player.deaths;
     hero.Assists       += player.assists;
     hero.GoldPerMinute += player.gold_per_min;
     hero.XpPerMinute   += player.xp_per_min;
     if (_affiliationHelper.PlayerWins(player, match.radiant_win))
     {
         hero.Wins += 1;
     }
 }
        public IActionResult CreateHeroesByPlayerId(int playerId, [FromBody] PlayerHeroViewModel playerHeroViewModel)
        {
            var temp = new PlayerHero
            {
                PlayerId          = playerId,
                HeroId            = playerHeroViewModel.HeroId,
                TranscendentTier  = playerHeroViewModel.TranscendentTier,
                UniqueWeaponStars = playerHeroViewModel.UniqueWeaponStars
            };

            _playerHeroRepository.Add(temp);
            _playerHeroRepository.Commit();

            CreatedAtRouteResult result = CreatedAtRoute("FindHeroesByPlayerId", new { controller = "Player", id = temp.Id }, temp);

            return(new OkObjectResult(result));
        }
Esempio n. 6
0
        public List <PlayerHeroViewModel> GetHeroListForOnePlayer(List <MatchDetail> matches, List <PlayerHeroViewModel> heroes)
        {
            foreach (var match in matches)
            {
                var player = match.players.FirstOrDefault();
                var hero   = heroes.Where(h => h.Name == player.hero.localized_name).FirstOrDefault();
                if (hero != null)
                {
                    ModifyHeroStatsBasedOnGame(match, player, hero);
                }
                else
                {
                    hero = new PlayerHeroViewModel(player.hero.localized_name);
                    ModifyHeroStatsBasedOnGame(match, player, hero);
                    heroes.Add(hero);
                }
            }

            return(heroes);
        }