Example #1
0
        public ClanDetails GetClanDetails(int clanId)
        {
            var clanDetails = new ClanDetails();

            var url = string.Format(@"https://api.worldoftanks.com/wot/clan/info/?application_id={0}&clan_id={1}", ApplicationId, clanId);

            using (var webClient = new WebClient())
            {
                var     json    = webClient.DownloadString(url);
                JObject jobject = JObject.Parse(json);
                clanDetails.Status = (string)jobject["status"];

                var data       = (JObject)jobject["data"];
                var entityData = data[clanId.ToString()];
                var members    = entityData["members"];

                clanDetails.Count        = (int)entityData["members_count"];
                clanDetails.Abbreviation = (string)entityData["abbreviation"];
                clanDetails.Name         = (string)entityData["name"];
                clanDetails.EmblemBWTank = (string)entityData["emblems"]["bw_tank"];
                clanDetails.EmblemLarge  = (string)entityData["emblems"]["large"];
                clanDetails.EmblemMedium = (string)entityData["emblems"]["medium"];
                clanDetails.EmblemSmall  = (string)entityData["emblems"]["small"];

                UpdateAuditProperties(clanDetails, entityData);

                foreach (var dataEntry in members.Children())
                {
                    var dataEntryJProperty = dataEntry as JProperty;
                    var accountId          = dataEntryJProperty.Name;

                    var accountData = dataEntryJProperty.Value as JObject;

                    var accountDataAccountId = (int)accountData["account_id"];
                    var createdAt            = (long)accountData["created_at"];
                    var updatedAt            = (long)accountData["updated_at"];
                    var accountName          = (string)accountData["account_name"];
                    var role     = (string)accountData["role"];
                    var rolei18n = (string)accountData["role_i18n"];

                    var member = new Member();
                    member.AccountId   = accountDataAccountId;
                    member.AccountName = accountName;
                    member.Role        = role;
                    member.Rolei18n    = rolei18n;

                    UpdateAuditProperties(member, accountData);

                    clanDetails.Members.Add(member);
                }
            }

            return(clanDetails);
        }
Example #2
0
        public ClanDetails GetClanDetails(int clanId)
        {
            var clanDetails = new ClanDetails();

            var url = string.Format(@"https://api.worldoftanks.com/wot/clan/info/?application_id={0}&clan_id={1}", ApplicationId, clanId);
            using (var webClient = new WebClient())
            {
                var json = webClient.DownloadString(url);
                JObject jobject = JObject.Parse(json);
                clanDetails.Status = (string)jobject["status"];

                var data = (JObject)jobject["data"];
                var entityData = data[clanId.ToString()];
                var members = entityData["members"];

                clanDetails.Count = (int)entityData["members_count"];
                clanDetails.Abbreviation = (string)entityData["abbreviation"];
                clanDetails.Name = (string)entityData["name"];
                clanDetails.EmblemBWTank = (string)entityData["emblems"]["bw_tank"];
                clanDetails.EmblemLarge = (string)entityData["emblems"]["large"];
                clanDetails.EmblemMedium = (string)entityData["emblems"]["medium"];
                clanDetails.EmblemSmall = (string)entityData["emblems"]["small"];

                UpdateAuditProperties(clanDetails, entityData);

                foreach (var dataEntry in members.Children())
                {
                    var dataEntryJProperty = dataEntry as JProperty;
                    var accountId = dataEntryJProperty.Name;

                    var accountData = dataEntryJProperty.Value as JObject;

                    var accountDataAccountId = (int)accountData["account_id"];
                    var createdAt = (long)accountData["created_at"];
                    var updatedAt = (long)accountData["updated_at"];
                    var accountName = (string)accountData["account_name"];
                    var role = (string)accountData["role"];
                    var rolei18n = (string)accountData["role_i18n"];

                    var member = new Member();
                    member.AccountId = accountDataAccountId;
                    member.AccountName = accountName;
                    member.Role = role;
                    member.Rolei18n = rolei18n;

                    UpdateAuditProperties(member, accountData);

                    clanDetails.Members.Add(member);
                }
            }

            return clanDetails;
        }