//Json aus http request serialisieren und zur Objektliste hinzufügen und speichern
 void parseWorlds(IAsyncResult result)
 {
     WebResponse response = ((WebRequest)result.AsyncState).EndGetResponse(result);
     Stream dataStream = response.GetResponseStream();
     StreamReader reader = new StreamReader(dataStream);
     string responseFromServer = reader.ReadToEnd();
     Console.WriteLine(responseFromServer);
     reader.Close();
     response.Close();
     mWorlds = JsonConvert.DeserializeObject<List<World>>(responseFromServer);
     DataSetChangedEventArgs args = new DataSetChangedEventArgs();
     callDataChangeCallback(args);
     save();
 }
 //Json aus http request serialisieren und zur Objektliste hinzufügen und speichern
 void parseItem(IAsyncResult result)
 {
     WebResponse response = ((WebRequest)result.AsyncState).EndGetResponse(result);
     Stream dataStream = response.GetResponseStream();
     StreamReader reader = new StreamReader(dataStream);
     string responseFromServer = reader.ReadToEnd();
     Console.WriteLine(responseFromServer);
     reader.Close();
     response.Close();
     Item item = JsonConvert.DeserializeObject<Item>(responseFromServer);
     mItems.Add(item);
     //item wieder aus der liste der refreshenden items entfernen da es gerefreshed wurde
     foreach (Int32 itemId in mRefreshingItems)
     {
         if (itemId == item.Id)
         {
             mRefreshingItems.Remove(itemId);
             break;
         }
     }
     DataSetChangedEventArgs args = new DataSetChangedEventArgs();
     callDataChangeCallback(args);
     save();
 }
 //Json aus http request serialisieren und zur Objektliste hinzufügen und speichern
 void parseAccountWallet(IAsyncResult result)
 {
     WebResponse response = ((WebRequest)result.AsyncState).EndGetResponse(result);
     Stream dataStream = response.GetResponseStream();
     StreamReader reader = new StreamReader(dataStream);
     string responseFromServer = reader.ReadToEnd();
     Console.WriteLine(responseFromServer);
     reader.Close();
     response.Close();
     List<CurrencyValue> currencyValues = JsonConvert.DeserializeObject<List<CurrencyValue>>(responseFromServer);
     for (int i = 0; i < currencyValues.Count; i++)
     {
         foreach (Currency currency in mCurrencies)
         {
             if(currency.Id == currencyValues[i].Id)
             {
                 currency.Value = currencyValues[i].Value;
                 mAccountCurrencies.Add(currency);
             }
         }
     }
     DataSetChangedEventArgs args = new DataSetChangedEventArgs();
     callDataChangeCallback(args);
 }
 //Json aus http request serialisieren und zur Objektliste hinzufügen und speichern
 void parseGuild(IAsyncResult result)
 {
     WebResponse response = ((WebRequest)result.AsyncState).EndGetResponse(result);
     Stream dataStream = response.GetResponseStream();
     StreamReader reader = new StreamReader(dataStream);
     string responseFromServer = reader.ReadToEnd();
     Console.WriteLine(responseFromServer);
     reader.Close();
     response.Close();
     Guild currentGuild = JsonConvert.DeserializeObject<Guild>(responseFromServer);
     try {
         foreach (Guild guild in mGuilds) {
             if (guild.Id.Equals(currentGuild.Id)) {
                 mGuilds.Remove(guild);
             }
         }
     }catch(Exception ex)
     {
         Console.WriteLine("exception in check");
         Console.WriteLine(ex.Message);
     }
     mGuilds.Add(currentGuild);
     DataSetChangedEventArgs args = new DataSetChangedEventArgs();
     callDataChangeCallback(args);
     save();
 }
 //image aus inputstream und in Objectliste hinzufügen
 void addImage(IAsyncResult result)
 {
     WebResponse response = ((WebRequest)result.AsyncState).EndGetResponse(result);
     Stream dataStream = response.GetResponseStream();
     ItemImage itemImage = new ItemImage();
     itemImage.image = Image.FromStream(dataStream);
     String responseUrl = response.ResponseUri.ToString();
     itemImage.url = responseUrl;
     mImages.Add(itemImage);
     //image wieder aus der liste der refreshenden images entfernen da es gerefreshed wurde
     foreach (String url in mRefreshingImages)
     {
         if (url == responseUrl)
         {
             mRefreshingImages.Remove(url);
             break;
         }
     }
     response.Close();
     DataSetChangedEventArgs args = new DataSetChangedEventArgs();
     callDataChangeCallback(args);
     save();
 }