Пример #1
0
        public void readJsonfromGoogle(string txt)
        {
            Console.WriteLine(txt);
            pStoreItems.Clear();
            JsonReader jsonReader = new JsonReader();
            Dictionary <string, object> dictionary = (Dictionary <string, object>)jsonReader.Read(txt);

            dictionary = (Dictionary <string, object>)dictionary["feed"];
            if (!dictionary.ContainsKey("entry"))
            {
                this.pstore.removeAllMessages(); return;
            }
            Dictionary <string, object>[] entrys = (Dictionary <string, object>[])dictionary["entry"];
            for (int i = 0; i < entrys.GetLength(0); i++)
            {
                sharedItem si = new sharedItem();
                dictionary = (Dictionary <string, object>)entrys[i]["gsx$timestamp"];
                si.time    = (string)dictionary["$t"];
                dictionary = (Dictionary <string, object>)entrys[i]["gsx$status"];
                si.status  = (string)dictionary["$t"];
                dictionary = (Dictionary <string, object>)entrys[i]["gsx$id"];
                si.id      = (string)dictionary["$t"];
                dictionary = (Dictionary <string, object>)entrys[i]["gsx$seller"];
                si.seller  = (string)dictionary["$t"];

                //clear the database (its googles job, but he may be to slow)
                if (si.status.StartsWith("SOLD") && si.id.Split(';')[3] != App.MyProfile.ProfileInfo.id)
                {
                    continue;
                }

                if (si.status.StartsWith("BUY"))
                {
                    this.pStoreItems.RemoveAll(x => x.id == si.id && si.status.StartsWith("active")); // remove all with active und same id

                    if (si.id.Split(';')[3] != App.MyProfile.ProfileInfo.id)                          //if not my id, ignore them
                    {
                        continue;
                    }
                }

                if (si.status.StartsWith("DELETE")) // delete the auctions (even if they are mine)
                {
                    foreach (string a in si.id.Split(','))
                    {
                        this.pStoreItems.RemoveAll(x => x.id == a);
                    }
                    continue;
                }

                this.pStoreItems.Add(si);
                Console.WriteLine(si.status + " " + si.id);
            }

            //addDataToPlayerStore();
        }
        public void readJsonfromGoogle(string txt)
        {
            Console.WriteLine(txt);
            JsonReader jsonReader = new JsonReader();
            Dictionary<string, object> dictionary = (Dictionary<string, object>)jsonReader.Read(txt);
            dictionary = (Dictionary<string, object>)dictionary["feed"];
            Dictionary<string, object>[] entrys = (Dictionary<string, object>[])dictionary["entry"];
            sharedDecks.Clear();
            for (int i = 0; i < entrys.GetLength(0); i++)
            {
                sharedItem si = new sharedItem();
                dictionary = (Dictionary<string, object>)entrys[i]["gsx$timestamp"];
                si.time = (string)dictionary["$t"];
                dictionary = (Dictionary<string, object>)entrys[i]["gsx$playername"];
                si.player = (string)dictionary["$t"];
                dictionary = (Dictionary<string, object>)entrys[i]["gsx$link"];
                si.link = (string)dictionary["$t"];
                dictionary = (Dictionary<string, object>)entrys[i]["gsx$deckname"];
                si.deckname = (string)dictionary["$t"];
                dictionary = (Dictionary<string, object>)entrys[i]["gsx$description"];
                si.desc = (string)dictionary["$t"];
                if (si.link.StartsWith("DELETE")) continue;
                this.sharedDecks.Add(si);
                Console.WriteLine(si.player + " " + si.deckname);
            }

           
        }