示例#1
0
文件: Catalog.cs 项目: BjkGkh/R106
        internal void Initialize(IQueryAdapter dbClient)
        {
            Pages = new Dictionary<int, CatalogPage>();
            gifts = new Hashtable();
            giftregister = new Hashtable();

            dbClient.setQuery("SELECT * FROM catalog_pages ORDER BY order_num");
            DataTable Data = dbClient.getTable();

            //dbClient.setQuery("SELECT * FROM ecotron_rewards ORDER BY item_id");

            Hashtable CataItems = new Hashtable();
            dbClient.setQuery("SELECT * FROM catalog_items");
            DataTable CatalogueItems = dbClient.getTable();

            Dictionary<int, Hashtable> itemRegister = new Dictionary<int, Hashtable>();

            if (CatalogueItems != null)
            {
                //uint id;
                foreach (DataRow Row in CatalogueItems.Rows)
                {
                    if (string.IsNullOrEmpty(Row["item_ids"].ToString()) || (int)Row["amount"] <= 0)
                        continue;

                    CatalogItem item = new CatalogItem(Row);
                    CataItems.Add((uint)Row["id"], item);
                    //Items.Add(new CatalogItem((uint)Row["id"], (string)Row["catalog_name"], (string)Row["item_ids"], (int)Row["cost_credits"], (int)Row["cost_pixels"], (int)Row["amount"]));

                    if (!itemRegister.ContainsKey(item.pageID))
                        itemRegister.Add(item.pageID, new Hashtable());
                    itemRegister[item.pageID].Add(item.ID, item);
                }
            }


            if (Data != null)
            {
                foreach (DataRow Row in Data.Rows)
                {
                    Boolean Visible = false;
                    Boolean Enabled = false;
                    Boolean ComingSoon = false;

                    if (Row["visible"].ToString() == "1")
                    {
                        Visible = true;
                    }

                    if (Row["enabled"].ToString() == "1")
                    {
                        Enabled = true;
                    }

                    if (Row["coming_soon"].ToString() == "1")
                    {
                        ComingSoon = true;
                    }

                    Pages.Add((int)Row["id"], new CatalogPage((int)Row["id"], (int)Row["parent_id"],
                        (string)Row["caption"], Visible, Enabled, ComingSoon, Convert.ToUInt32(Row["min_rank"]),
                        ButterflyEnvironment.EnumToBool(Row["club_only"].ToString()),
                        (int)Row["icon_image"], (string)Row["page_layout"], (string)Row["page_headline"],
                        (string)Row["page_teaser"], (string)Row["page_special"], (string)Row["page_text1"],
                        (string)Row["page_text2"], (string)Row["page_text_details"], (string)Row["page_text_teaser"], itemRegister));
                }
            }


            PetRaceHandler.Initialize(dbClient);

            RestackByFrontpage();
        }