Example #1
0
        protected override void Build(StreamReader readStream)
        {
            String line = "";
            while ((line = readStream.ReadLine()) != null)
            {
                bool buy = false;
                if (line.Contains("$scope.sellers = "))
                    buy = false;
                else if (line.Contains("$scope.buyers = "))
                    buy = true;

                if (line.Contains("$scope.sellers = ") || line.Contains("$scope.buyers = "))
                {
                    line = line.Replace("$scope.sellers = ", "");
                    line = line.Trim();
                    string[] itemStrings = Regex.Split(line,"\\}, \\{");
                    foreach (String itemString in itemStrings)
                    {
                       
                        string tmp= itemString.Substring(itemString.LastIndexOf("\"price\": {"));
                        tmp= tmp.Replace("\"price\": {", "");
                        String[] itemS = Regex.Split(tmp,"\\}, ");
                        string name= itemS[1].Replace("\"name\": ", "").Replace("\"", "").Replace("}];", "").Trim();

                        ItemInBot item = new ItemInBot()
                        {
                            Bot = bot,
                            Item = ItemHelper.GetItemByName(name),
                            BuyPrice = 0,
                            SellPrice = 999999999,
                            Max = 0,
                            Stock=0
                        };

                        String[] price = itemS[0].Replace("\"keys\":", "").Replace("\"refs\":", "").Replace(".0", "00").Replace(".", "").Split(',');
                        int sum = (int)(int.Parse(price[0].Trim()) * ItemHelper.KEY_PRICE + int.Parse(price[2].Trim())) ;
                        if (items.Keys.Contains(item.Item.Name))
                        {
                            item = items[item.Item.Name];
                        }
                        else {
                            items.Add(item.Item.Name, item);
                            ItemHelper.CTX.ItemsInBots.Add(item);
                        }
                        if (buy) {
                            item.BuyPrice = sum;
                            item.Max++;
                        }
                        else { item.SellPrice = sum; item.Stock++; item.Max++; }
                    }
                }
            }
        }
Example #2
0
        protected override void Build(StreamReader readStream)
        {            
            string line;
            int item_found_state = 0;
            ItemInBot item = null;
            while ((line = readStream.ReadLine()) != null)
            {
                line = line.Trim();
                line = line.Replace("<i18n>", "").Replace("</i18n>", "");

                switch (item_found_state)
                {
                    case 0:
                        if (line.Contains("data-original-title=\"\"></td>"))
                        {
                            line = readStream.ReadLine();
                            line = line.Replace("</td>", "").Replace("<td>", "");

                            Console.WriteLine(line);
                            item_found_state++;


                            string name = line.Trim();
                            
                            item = new ItemInBot()
                            {
                                Item = ItemHelper.GetItemByName(name),
                                Bot = bot
                            };
                            items.Add(name, item);
                            ItemHelper.CTX.ItemsInBots.Add(item);
                        }

                        break;
                    case 1:
                        if (line.Contains("<td>"))
                        {
                            item_found_state++;
                            int sell = ItemHelper.ParsePrice(line);
                            item.SellPrice = sell;
                        }
                        break;
                    case 2:
                        if (line.Contains("<td>"))
                        {
                            item_found_state++;
                            int buy = ItemHelper.ParsePrice(line);
                            item.BuyPrice = buy;
                        }
                        if (line.Contains(("<div rel=\"tooltip\" title=\"")))
                        {
                            line = line.Replace("<div rel=\"tooltip\" title=\"", "");
                            string[] stockMax = line.Split('"')[0].Split('/');
                            int stock = 0; int max = 0;
                            if (stockMax.Length >= 2)
                            {
                                stock = int.Parse(stockMax[0]);
                                max = int.Parse((stockMax[1]));
                            }
                            item.Stock = stock;
                            item.Max = max;


                            item_found_state = 0;
                        }

                        break;
                    case 3:
                        if (line.Contains(("<div rel=\"tooltip\" title=\"")))
                        {
                            line = line.Replace("<div rel=\"tooltip\" title=\"", "");
                            string[] stockMax = line.Split('"')[0].Split('/');
                            int stock = 0; int max = 0;
                            if (stockMax.Length >= 2)
                            {
                                stock = int.Parse(stockMax[0]);
                                max = int.Parse((stockMax[1]));
                            }
                            item.Stock = stock;
                            item.Max = max;


                            item_found_state = 0;
                        }

                        break;
                }
            }
        }