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