public void LoadPages() { Pages = new Dictionary<int, ShopPage>(); DataTable Table = null; using (QueryReactor Reactor = BrickEngine.GetQueryReactor()) { Reactor.SetQuery("SELECT * FROM shop_pages ORDER BY order_id ASC"); Table = Reactor.GetTable(); } if (Table != null) { foreach (DataRow Row in Table.Rows) { ShopPage Page = new ShopPage(Row); Pages.Add(Page.Id, Page); } } BrickEngine.GetScreenWriter().ScretchLine("[" + Pages.Count + "] Shop(s) cached.", IO.WriteType.Outgoing); }
public void SerializeShopData(Response Response, ShopPage Page) { ShopData[Page.Base].Invoke(Response, Page); }
public Response GetExtraResponse(ShopPage Page, Client Client) { if (Page.Base.ToLower() == "club_buy") { Response Response = new Response(625); Response.AppendInt32(ClubItems.Count); var Sorted = from item in ClubItems.Values.ToList() orderby item.ShopItemId ascending select item; foreach (ShopClubItem ClubItem in Sorted) { ClubItem.GetResponse(Response); } return Response; } else if (Page.Base.ToLower() == "club_gifts") { Response Response = new Response(623); if (Client.GetUser().GetMembership() != null) { Response.AppendInt32(1); // Item for choose in X days // -1 = no member } else { Response.AppendInt32(-1); } Response.AppendInt32(0); // ItemsToChooseLeft Response.AppendInt32(GiftItems.Count); foreach (ShopGiftItem GiftItem in GiftItems.Values.ToList()) { GiftItem.GetExternalResponse(Response); } Response.AppendInt32(GiftItems.Count); foreach (ShopGiftItem GiftItem in GiftItems.Values.ToList()) { GiftItem.GetInternalResponse(Response); } return Response; } else { return null; } }