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