/// <summary> /// uploads the current player state to the server /// </summary> /// <param name="player"></param> public async Task SetPlayerStateAsync(Player player) { //todo: add hero's to the player object. state = player; Models.DatabaseModels.Player dbPlayer = player; var response = await RestHelper.PostRequestAsync("api/player/set", dbPlayer); if (response.StatusCode == HttpStatusCode.OK) { await LocalPlayerData.SaveLocalPlayerData(state); } else { //save the current player state, and then throw an exception await LocalPlayerData.SaveLocalPlayerData(state); throw new Exception($"Couldn't set the player state... Api error: [{response.StatusCode}] {response.ErrorMessage}"); } }
/// <summary> /// Creates a new user instance and posts the data to the API, which then is saved in the database. /// </summary> /// <param name="username"></param> /// <param name="connectionId"></param> public async Task CreateUser(string username, string DeviceId) { Models.DatabaseModels.Player player = new Models.DatabaseModels.Player { DeviceId = DeviceId, PlayerName = username, PlayerGuid = Guid.NewGuid().ToString() }; var response = await RestHelper.PostRequestAsync("api/player/create", player); if (response.StatusCode == HttpStatusCode.OK) { //after creating a new user, also store that new player await LocalPlayerData.SaveLocalPlayerData(player); } else { await LocalPlayerData.SaveLocalPlayerData(player); throw new Exception($"Couldn't create the player... Api error: [{response.StatusCode}] {response.ErrorMessage}"); } }