/// <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}");
            }
        }