Exemplo n.º 1
0
        public async Task <IActionResult> SetGamertagForPlayerId(
            [FromRoute] string playerid,
            [FromBody] SetGamertagRequestModel model)
        {
            var player = await _store.GetPlayerDetailsByUserIdAsync(playerid);

            if (player == null)
            {
                player = new Player {
                    UserId = playerid
                };
            }
            if (!string.IsNullOrEmpty(player.Gamertag))
            {
                _logger.LogInformation("Player already has gamertag (cannot update) in SetGamertagForPlayerId");
                _appMonitor.LogEvent("RegisterFailed", properties: new Dictionary <string, string> {
                    { "Reason", "UserAlreadyHasGamertag" },
                    { "Source", "Interactive" }
                });
                return(this.ValidationFailed(new ErrorDetail("gamertag", "Cannot update gamertag")));
            }

            player.Gamertag = model.Gamertag;
            await _store.SavePlayerAsync(player);

            _appMonitor.LogEvent("RegisterSucceeded", properties: new Dictionary <string, string> {
                { "Reason", "UserAlreadyHasGamertag" },
                { "Source", "Interactive" }
            });

            return(Ok());
        }
        public async Task <ActionResult> SetGamertagForPlayerId(
            [FromRoute] string playerid,
            [FromBody] SetGamertagRequestModel model)
        {
            if (!ModelState.IsValid)
            {
                _logger.LogInformation("Invalid model state in SetGamertagForPlayerId");
                return(BadRequest());
            }

            var player = await _store.GetPlayerDetailsByUserIdAsync(playerid);

            if (player == null)
            {
                player = new Player {
                    UserId = playerid
                };
            }
            if (!string.IsNullOrEmpty(player.Gamertag))
            {
                _logger.LogInformation("Player already has gamertag (cannot update) in SetGamertagForPlayerId");
                return(BadRequest());
            }

            player.Gamertag = model.Gamertag;
            await _store.SavePlayerAsync(player);

            return(Ok());
        }
        public async Task <IActionResult> SetGamertagForPlayerId(
            [FromRoute] string playerid,
            [FromBody] SetGamertagRequestModel model)
        {
            var player = await _store.GetPlayerDetailsByUserIdAsync(playerid);

            if (player == null)
            {
                player = new Player {
                    UserId = playerid
                };
            }
            if (!string.IsNullOrEmpty(player.Gamertag))
            {
                _logger.LogInformation("Player already has gamertag (cannot update) in SetGamertagForPlayerId");
                return(this.ValidationFailed(new ErrorDetail("gamertag", "Cannot update gamertag")));
            }

            player.Gamertag = model.Gamertag;
            await _store.SavePlayerAsync(player);

            return(Ok());
        }