public void Execute(MySqlConnection connection, MySqlTransaction transaction)
 {
     using (MySqlCommand mySqlCommand = new MySqlCommand(string.Format("SELECT * FROM banner_featured_items WHERE bannerid = {0} AND isJapanese = {1}", (object)this.myBannerID, (object)(this.myIsJP ? 1 : 0)), connection, transaction))
     {
         using (MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader())
         {
             while (mySqlDataReader.Read())
             {
                 BasicFeaturedItemInfo featuredItemInfo = new BasicFeaturedItemInfo();
                 featuredItemInfo.BannerID = (uint)mySqlDataReader["bannerid"];
                 byte b = (byte)mySqlDataReader["isJapanese"];
                 featuredItemInfo.IsJP   = b == (byte)1;
                 featuredItemInfo.ItemID = (uint)mySqlDataReader["itemid"];
                 int key = this.HashValues(featuredItemInfo.BannerID, b, featuredItemInfo.ItemID);
                 featuredItemInfo.DisplayOrder   = (int)mySqlDataReader["disp_order"];
                 featuredItemInfo.ItemImagePath  = (string)mySqlDataReader["image_path"];
                 featuredItemInfo.CharacterID    = (uint)mySqlDataReader["character_id"];
                 featuredItemInfo.HasSB          = (byte)mySqlDataReader["has_sb"] == (byte)1;
                 featuredItemInfo.HasCharacterSB = (byte)mySqlDataReader["has_character_sb"] == (byte)1;
                 featuredItemInfo.LMID           = (uint)mySqlDataReader["legend_materia_id"];
                 featuredItemInfo.SBCategoryID   = (int)mySqlDataReader["sb_category_id"];
                 featuredItemInfo.Rate           = this.ParseDecimal(mySqlDataReader["rate"]);
                 featuredItemInfo.SBImagePath    = (string)mySqlDataReader["sb_image_path"];
                 featuredItemInfo.Description    = (string)mySqlDataReader["sb_description"];
                 this.myItems.Add(key, featuredItemInfo);
             }
         }
     }
 }
        private void ConsolidateRelicDrawList(Dictionary <long, BasicRelicDropInfo> draws)
        {
            this.myMiscInfo = new FFRKViewGacha2.MiscDropInfo();
            bool flag1 = true;

            if (this.comboBoxPullTypeFilter.SelectedIndex == 1)
            {
                flag1 = false;
            }
            bool flag2 = true;

            if (this.comboBoxPullTypeFilter.SelectedIndex == 0)
            {
                flag2 = false;
            }
            Dictionary <uint, FilteredRelicDropInfo> dictionary1 = new Dictionary <uint, FilteredRelicDropInfo>();
            Dictionary <long, bool> dictionary2 = new Dictionary <long, bool>();

            foreach (BasicRelicDropInfo basicRelicDropInfo in draws.Values)
            {
                BasicRelicDropInfo dropInfo = basicRelicDropInfo;
                if ((dropInfo.ItemTotal != (ushort)11 || flag1) && (dropInfo.ItemTotal == (ushort)11 || flag2))
                {
                    long key = this.HashTimeAndUser(dropInfo.ServerTime, dropInfo.UserHash);
                    if (!dictionary2.ContainsKey(key))
                    {
                        this.myMiscInfo.totalPulls += (int)dropInfo.ItemTotal;
                        dictionary2.Add(key, true);
                    }
                    switch (dropInfo.Rarity)
                    {
                    case 1:
                        this.myMiscInfo.count1 += (int)dropInfo.DropNum;
                        break;

                    case 2:
                        this.myMiscInfo.count2 += (int)dropInfo.DropNum;
                        break;

                    case 3:
                        this.myMiscInfo.count3 += (int)dropInfo.DropNum;
                        break;

                    case 4:
                        this.myMiscInfo.count4 += (int)dropInfo.DropNum;
                        break;

                    case 5:
                        this.myMiscInfo.count5 += (int)dropInfo.DropNum;
                        break;

                    case 6:
                        this.myMiscInfo.count6 += (int)dropInfo.DropNum;
                        break;

                    case 7:
                        this.myMiscInfo.count7 += (int)dropInfo.DropNum;
                        break;
                    }
                    if (dropInfo.Rarity > (byte)4)
                    {
                        if (dictionary1.ContainsKey(dropInfo.ItemID))
                        {
                            dictionary1[dropInfo.ItemID].DropNum += dropInfo.DropNum;
                        }
                        else if (this.myFeaturedItems.Values.ToList <BasicFeaturedItemInfo>().Exists((Predicate <BasicFeaturedItemInfo>)(x => (int)x.ItemID == (int)dropInfo.ItemID)))
                        {
                            FilteredRelicDropInfo filteredRelicDropInfo = new FilteredRelicDropInfo();
                            filteredRelicDropInfo.DropNum  = dropInfo.DropNum;
                            filteredRelicDropInfo.ItemID   = dropInfo.ItemID;
                            filteredRelicDropInfo.ItemName = dropInfo.ItemName;
                            filteredRelicDropInfo.Rarity   = dropInfo.Rarity;
                            BasicFeaturedItemInfo featuredItemInfo = this.myFeaturedItems.Values.First <BasicFeaturedItemInfo>((Func <BasicFeaturedItemInfo, bool>)(x => (int)x.ItemID == (int)dropInfo.ItemID));
                            filteredRelicDropInfo.DisplayOrder = featuredItemInfo.DisplayOrder;
                            filteredRelicDropInfo.AssumedRate  = featuredItemInfo.Rate;
                            dictionary1.Add(dropInfo.ItemID, filteredRelicDropInfo);
                        }
                        else
                        {
                            switch (dropInfo.Rarity)
                            {
                            case 5:
                                this.myMiscInfo.offBanner5count += (int)dropInfo.DropNum;
                                break;

                            case 6:
                                this.myMiscInfo.offBanner6count += (int)dropInfo.DropNum;
                                break;

                            case 7:
                                this.myMiscInfo.offBanner7count += (int)dropInfo.DropNum;
                                break;
                            }
                        }
                    }
                }
            }
            FiddlerApplication.Log.LogString(dictionary1.Values.Count.ToString());
            this.myConsolidatedRelicDrops = dictionary1;
        }