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); }
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)); } }
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); }
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); }
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); }
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)); } }
public async Task <PlayerRank> UpdatePlayerRank(int rankId, PlayerRankCreateDTO playerRankCreateDTO) { return(await _repository.UpdatePlayerRank(rankId, playerRankCreateDTO)); }