Exemplo n.º 1
0
        public async Task <bool> Authenticate(string nickname, WoTServer wotServer)
        {
            PlayerBasicInfo playerBasicInfo = await apiService.GetPlayerBasicInfoAsync(nickname, wotServer);

            if (playerBasicInfo.Meta.Count > 0)
            {
                User user = new User
                {
                    Nickname  = playerBasicInfo.Datas[0].Nickname,
                    AccountId = playerBasicInfo.Datas[0].AccountId,
                    WoTServer = wotServer
                };

                var allUsers = await App.Database.GetUsersAsync();

                if (allUsers.Count > 0)
                {
                    var userToBeDeleted = allUsers[0];
                    await App.Database.DeleteUserAsync(userToBeDeleted);
                }

                await App.Database.InsertUserAsync(user);

                return(true); // new user inserted
            }
            return(false);
        }
        public async Task <PlayerBasicInfo> GetPlayerBasicInfoAsync(string nickname, WoTServer server)
        {
            PlayerBasicInfo playerBasicInfo = null;

            var fullUrl = GetFullUrl(nickname, server);

            try
            {
                HttpResponseMessage response = await client.GetAsync(fullUrl);

                if (response.IsSuccessStatusCode)
                {
                    string content = await response.Content.ReadAsStringAsync();

                    playerBasicInfo = JsonConvert.DeserializeObject <PlayerBasicInfo>(content);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("\tERROR {0}", ex.Message);
            }

            return(playerBasicInfo);
        }