Esempio n. 1
0
        public async Task <PlayerRank> UpdatePlayerRank(int rankId, PlayerRankCreateDTO playerRankCreateDTO)
        {
            var playerRank = await _context.PlayerRanks.FirstOrDefaultAsync(pr => pr.Id == rankId);

            playerRank.Rank = playerRankCreateDTO.Rank;
            var playerRankUpdated = _context.Update(playerRank);
            await _context.SaveChangesAsync();

            return(playerRankUpdated.Entity);
        }
Esempio n. 2
0
        public async Task <IActionResult> Update(int rankId, [FromBody] PlayerRankCreateDTO playerRankCreateDTO)
        {
            try
            {
                var playerRanks = await _playerRankService.UpdatePlayerRank(rankId, playerRankCreateDTO);

                _log.LogInformation($"Updating playerRank with id : {playerRanks.Id}");
                return(Ok(playerRanks));
            }
            catch (Exception ex)
            {
                _log.LogError($"Something went wrong: {ex}");
                return(StatusCode(500, ex));
            }
        }
Esempio n. 3
0
        public async Task <PlayerRank> AddNewPlayerRank(PlayerRankCreateDTO playerRankCreateDto)
        {
            var player = await _context.Players.FirstOrDefaultAsync(x => x.Id == playerRankCreateDto.PlayerId);

            var skill = await _context.Skills.FirstOrDefaultAsync(x => x.Id == playerRankCreateDto.SkillId);

            PlayerRank playerRank = new PlayerRank()
            {
                Player = player,
                Skill  = skill,
                Rank   = playerRankCreateDto.Rank
            };

            await _context.PlayerRanks.AddAsync(playerRank);

            await _context.SaveChangesAsync();

            return(playerRank);
        }
Esempio n. 4
0
        public async Task <PlayerRank> AddPlayerRank(PlayerRankCreateDTO playerRankCreateDto)
        {
            var allPlayerRanksForPlayer = await GetAllPlayerRanksForPlayer(playerRankCreateDto.PlayerId);

            var counter = 0;

            foreach (var playerRanksForPlayer in allPlayerRanksForPlayer)
            {
                if (playerRankCreateDto.SkillId == playerRanksForPlayer.Skill.Id)
                {
                    counter++;
                }
            }
            if (counter == 0)
            {
                return(await _repository.AddNewPlayerRank(playerRankCreateDto));
            }
            return(null);
        }
Esempio n. 5
0
        public async Task <List <PlayerRankCreateDTO> > AddPlayerRankWhenPlayerCreated(int playerId)
        {
            var listToReturn = new List <PlayerRankCreateDTO>();
            var skills       = await _skillRepository.GetAllSkills();

            foreach (var skill in skills)
            {
                var player = new PlayerRankCreateDTO()
                {
                    PlayerId = playerId,
                    SkillId  = skill.Id,
                    Rank     = -1
                };
                await _repository.AddNewPlayerRank(player);

                listToReturn.Add(player);
            }

            return(listToReturn);
        }
Esempio n. 6
0
        public async Task <ActionResult <PlayerRank> > Create([FromBody] PlayerRankCreateDTO playerRankCreateDto)
        {
            try
            {
                var playerRankSaved = await _playerRankService.AddPlayerRank(playerRankCreateDto);

                _log.LogInformation($"Returning new playerRank with id {playerRankSaved.Id}");
                if (playerRankSaved != null)
                {
                    return(Ok(playerRankSaved));
                }
                else
                {
                    return(BadRequest("Cannot insert Rank for already existed skill"));
                }
            }
            catch (Exception ex)
            {
                _log.LogError($"Something went wrong: {ex}");
                return(StatusCode(500, ex));
            }
        }
Esempio n. 7
0
 public async Task <PlayerRank> UpdatePlayerRank(int rankId, PlayerRankCreateDTO playerRankCreateDTO)
 {
     return(await _repository.UpdatePlayerRank(rankId, playerRankCreateDTO));
 }