public ServerMessage SerializeOffersNew(int MinCost, int MaxCost, string SearchQuery, int FilterMode) { DataTable Table = null; StringBuilder Builder = new StringBuilder(); Builder.Append("WHERE state = '1' AND timestamp >= " + this.FormatTimestampString()); if (MinCost >= 0) { Builder.Append(" AND total_price > " + MinCost); } if (MaxCost >= 0) { Builder.Append(" AND total_price < " + MaxCost); } string str; switch (FilterMode) { case 1: str = "ORDER BY asking_price DESC"; goto IL_82; } str = "ORDER BY asking_price ASC"; IL_82: using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient()) { adapter.AddParamWithValue("search_query", "%" + SearchQuery + "%"); if (SearchQuery.Length >= 1) { Builder.Append(" AND public_name LIKE @search_query"); } Table = adapter.ReadDataTable(string.Concat(new string[] { "SELECT offer_id, item_type, sprite_id, total_price FROM catalog_marketplace_offers ", Builder.ToString(), " ", str, " LIMIT 500" })); } ServerMessage Message = new ServerMessage(615u); this.MarketplaceItems.Clear(); this.MarketItemKeys.Clear(); if (Table != null) { foreach (DataRow dataRow in Table.Rows) { if (!this.MarketItemKeys.Contains((uint)dataRow["offer_id"])) { MarketplaceItems item = new MarketplaceItems((uint)dataRow["offer_id"], (int)dataRow["sprite_id"], (int)dataRow["total_price"], int.Parse(dataRow["item_type"].ToString())); this.MarketItemKeys.Add((uint)dataRow["offer_id"]); this.MarketplaceItems.Add(item); } } return(this.SerializeOffers(MinCost, MaxCost)); } else { Message.AppendInt32(0); return(Message); } }
public ServerMessage SerializeOffersNew(int MinCost, int MaxCost, string SearchQuery, int FilterMode) { DataTable Table = null; StringBuilder Builder = new StringBuilder(); Builder.Append("WHERE state = '1' AND timestamp >= " + this.FormatTimestampString()); if (MinCost >= 0) { Builder.Append(" AND total_price > " + MinCost); } if (MaxCost >= 0) { Builder.Append(" AND total_price < " + MaxCost); } string str; switch (FilterMode) { case 1: str = "ORDER BY asking_price DESC"; goto IL_82; } str = "ORDER BY asking_price ASC"; IL_82: using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient()) { adapter.AddParamWithValue("search_query", "%" + SearchQuery + "%"); if (SearchQuery.Length >= 1) { Builder.Append(" AND public_name LIKE @search_query"); } Table = adapter.ReadDataTable(string.Concat(new string[] { "SELECT offer_id, item_type, sprite_id, total_price FROM catalog_marketplace_offers ", Builder.ToString(), " ", str, " LIMIT 500" })); } ServerMessage Message = new ServerMessage(615u); this.MarketplaceItems.Clear(); this.MarketItemKeys.Clear(); if (Table != null) { foreach (DataRow dataRow in Table.Rows) { if (!this.MarketItemKeys.Contains((uint)dataRow["offer_id"])) { MarketplaceItems item = new MarketplaceItems((uint)dataRow["offer_id"], (int)dataRow["sprite_id"], (int)dataRow["total_price"], int.Parse(dataRow["item_type"].ToString())); this.MarketItemKeys.Add((uint)dataRow["offer_id"]); this.MarketplaceItems.Add(item); } } return this.SerializeOffers(MinCost, MaxCost); } else { Message.AppendInt32(0); return Message; } }