protected string GetServerEndpoint(WoTServer server) { string urlServerRepresentation = null; switch (server) { case WoTServer.ru: urlServerRepresentation = "ru"; break; case WoTServer.eu: urlServerRepresentation = "eu"; break; case WoTServer.na: urlServerRepresentation = "com"; break; case WoTServer.asia: urlServerRepresentation = "asia"; break; } return($"{bareUrlFirstPart}{urlServerRepresentation}{bareUrlSecondPart}"); }
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); }
private string GetFullUrl(string nickname, WoTServer server) { return($"{base.GetServerEndpoint(server)}{BareUrlSpecificPart}{nickname}"); }
public async Task <TankopediaVehicle> GetTankopediaVehicleAsync(string tankId, WoTServer server) { TankopediaVehicle tankopediaVehicle = null; var fullUrl = GetFullUrl(server); if (allTanksJToken == null) { try { HttpResponseMessage response = await client.GetAsync(fullUrl); if (response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); var wholeJObject = JObject.Parse(content); this.allTanksJToken = wholeJObject["data"]; } } catch (Exception ex) { Debug.WriteLine("\tERROR", ex.Message); } } JToken tankopediaVehicleJToken = null; var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; try { tankopediaVehicleJToken = allTanksJToken[tankId]; tankopediaVehicle = JsonConvert.DeserializeObject <TankopediaVehicle>(tankopediaVehicleJToken.ToString(), settings); } catch (NullReferenceException ex) { Debug.WriteLine("\t[possible problem: no vehicle having selected tankId]", ex.Message); return(null); } return(tankopediaVehicle); }
private string GetFullUrl(string accountId, WoTServer server) { return($"{base.GetServerEndpoint(server)}{BareUrlSpecificPart}{accountId}"); }
public async Task <List <PlayerVehicleStatistics> > GetPlayerVehiclesStatisticsAsync(string accountId, WoTServer server) { List <PlayerVehicleStatistics> playerVehiclesStatistics = null; var fullUrl = GetFullUrl(accountId, server); try { HttpResponseMessage response = await client.GetAsync(fullUrl); if (response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); var wholeJObject = JObject.Parse(content); var data = wholeJObject["data"]; var playerVehiclesStatisticsJToken = data[accountId]; var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; playerVehiclesStatistics = JsonConvert.DeserializeObject <List <PlayerVehicleStatistics> >(playerVehiclesStatisticsJToken.ToString(), settings); } } catch (Exception ex) { Debug.WriteLine("\tERROR {0}", ex.Message); } return(playerVehiclesStatistics); }