Ejemplo n.º 1
0
        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}");
        }
Ejemplo n.º 2
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);
        }
 private string GetFullUrl(string nickname, WoTServer server)
 {
     return($"{base.GetServerEndpoint(server)}{BareUrlSpecificPart}{nickname}");
 }
Ejemplo n.º 5
0
        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);
        }