public async Task <string> Refresh(int id) { DataController data = new DataController(); string key = data.Key(); string status; using (var client = new HttpClient()) { try { client.BaseAddress = new Uri("https://na1.api.riotgames.com/"); var response = await client.GetAsync("lol/static-data/v3/items/" + id.ToString() + "?locale=en_US&tags=all&api_key=" + key); response.EnsureSuccessStatusCode(); var stringResult = await response.Content.ReadAsStringAsync(); var item = JsonConvert.DeserializeObject <RootObject>(stringResult); Item i = new Item(); ItemGold itemGold = new ItemGold(); ItemImage itemImage = new ItemImage(); List <ItemInto> itemInto = new List <ItemInto>(); ItemMaps itemMaps = new ItemMaps(); ItemStats itemStats = new ItemStats(); ItemTags itemTags = new ItemTags(); i.ItemID = item.id; i.Description = item.description; i.Plaintext = item.plaintext; i.Name = item.name; i.SanitizedDescription = item.sanitizedDescription; itemGold.ItemID = i.ItemID; itemGold.Base = item.gold.@base; itemGold.Total = item.gold.total; itemGold.Sell = item.gold.sell; itemGold.Purchasable = item.gold.purchasable; itemImage.ItemID = i.ItemID; itemImage.Full = item.image.full; itemImage.Sprite = item.image.sprite; itemImage.Group = item.image.group; itemImage.X = item.image.x; itemImage.Y = item.image.y; itemImage.W = item.image.w; itemImage.H = item.image.h; List <int> itemIntoItems = new List <int>(); for (int c = 0; c < item.into.Count(); c++) { itemIntoItems.Add(Convert.ToInt32(item.into[c])); } foreach (int itemIntoItemID in itemIntoItems) { itemInto.Add(new ItemInto { ItemID = item.id, ItemIntoItemID = itemIntoItemID }); } db.Item.Add(i); db.SaveChanges(); status = "Adding " + i.Name + "..."; } catch (HttpRequestException httpRequestException) { Console.WriteLine(httpRequestException); status = "Scanning database..."; } return(status); } }