private async void updateCollection(string html, bool fromFreshDownloadFlag) { string htmllink = html; //Debug.WriteLine(htmllink); Debug.WriteLine("in UpdateCollection"); artists.Clear(); RootObjectArtist rartist = new RootObjectArtist(); rartist.art = new List<lineupArt>(); bool artistsFileExists = await library.checkIfFileExists("artistsFile"); if (fromFreshDownloadFlag == true || artistsFileExists == false) { while (html.IndexOf("class=\"band \" id=") != -1) { //Debug.WriteLine("In While loop"); htmllink = html; int indexlink = htmllink.IndexOf("class=\"band \" id"); string subtemp = htmllink.Substring(indexlink); indexlink = subtemp.IndexOf("href=\""); string sublink = subtemp.Substring(indexlink + 38); sublink = sublink.Substring(0, sublink.IndexOf("\"")); int index = html.IndexOf("class=\"band \" id="); string sub = html.Substring(index); index = sub.IndexOf(">"); int index1 = sub.IndexOf("<"); string sub1 = sub.Substring(index + 1, index1 - index - 1); if (sub1.Contains("&")) { sub1 = sub1.Substring(0, sub1.IndexOf("&") - 1) + " & " + sub1.Substring(sub1.IndexOf("&") + 1 + 4); } html = sub.Substring(index1); Debug.WriteLine(sub1); lineupArt lart = new lineupArt(); lart.name = sub1; lart.link = "http://lineup.bonnaroo.com/band/" + sublink; lart.sublink = sublink; if (await library.checkIfFileExists(sublink + "profilepic")) { lart.artistPhotoPath = "ms-appdata:///local/" + sublink + "profilepic"; } else { lart.artistPhotoPath = "/assets/member_photo.jpg"; } artists.Add(lart); rartist.art.Add(lart); } string res = lineupArtists.artistDataSerializer(rartist); Debug.WriteLine(res); await library.writeFile("artistsFile", res); } else // if the artistsFile exists and we don't need to fo a fresh refresh, read from the file, deserialize and add to the observable collection { Debug.WriteLine("in else on lineup page"); string res = await library.readFile("artistsFile"); rartist = lineupArtists.artistDataDeserializer(res); var rartinfo = rartist.art; foreach (var rart in rartinfo) { artists.Add(rart); } } }
public static string artistDataSerializer(RootObjectArtist rartist) { string response = JsonConvert.SerializeObject(rartist); return response; }