public async Task <ActionResult <PlayerModel> > UpdatePlayer([FromBody] PlayerModel dto, [FromRoute] string username)
        {
            if (dto == null)
            {
                return(BadRequest(ResponseMessages.PutNullObjectErrorMessage));
            }
            try
            {
                Player player = await _service.GetPlayerByUsernameAsync(username);

                if (player == null)
                {
                    return(BadRequest(ResponseMessages.PlayerDoesNotExistMessage(username)));
                }

                player = await _service.UpdatePlayerAsync(player, dto);

                PlayerModel playerModel = (PlayerModel)player;
                return(Ok(playerModel));
            }
            catch (Exception)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, ResponseMessages.InternalServerErrorMessage));
            }
        }
        public async Task <ActionResult> RemovePlayer([FromRoute] string username)
        {
            try
            {
                var oldPlayer = await _service.GetPlayerByUsernameAsync(username);

                if (oldPlayer == null)
                {
                    return(BadRequest(ResponseMessages.PlayerDoesNotExistMessage(username)));
                }

                await _service.RemovePlayerAsync(oldPlayer);

                return(Ok($"Player '{oldPlayer.Username}' was removed from the database"));
            }
            catch (Exception)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, ResponseMessages.InternalServerErrorMessage));
            }
        }