public async Task <IActionResult> PostState([FromRoute] string gamertag, [FromBody] string state)
        {
            if (string.IsNullOrWhiteSpace(gamertag))
            {
                return(this.ValidationFailed(new ErrorDetail("gamertag", "gamertag is required")));
            }

            // Save player extended information
            await _store.SavePlayerStateByGamertagAsync(gamertag, state);

            // Return result
            return(CreatedAtRoute(nameof(GetPlayer), new { gamertag }, null));
        }
        public async Task <ActionResult> PostState([FromRoute] string gamertag, [FromBody] string state)
        {
            if (string.IsNullOrWhiteSpace(gamertag))
            {
                return(BadRequest()); //TODO: return error info in body
            }

            // Save player extended information
            await _store.SavePlayerStateByGamertagAsync(gamertag, state);

            // Return result
            return(CreatedAtRoute(nameof(GetPlayer), new { gamertag }, null));
        }
Exemple #3
0
        public async Task <ActionResult> PutCurrentPlayerState([FromBody] JObject state) // TODO update binding to use raw string
        {
            string gamertag = User.GetGamerTag();

            // TODO - update this to use model binding. Keeping param for now for API docs, but binding to it isn't working
            var stateString = JsonConvert.SerializeObject(state);

            // Update extended player information
            // Update player
            await _store.SavePlayerStateByGamertagAsync(gamertag, stateString);

            // Return result
            return(Ok());
        }