private void ExamplePOSForm_Load(object sender, EventArgs e)
{
// some UI cleanup...
RegisterTabs.Appearance = TabAppearance.FlatButtons;
RegisterTabs.ItemSize = new Size(0, 1);
RegisterTabs.SizeMode = TabSizeMode.Fixed;
// done hiding tabs
// register for app shutdown
Application.ApplicationExit += new EventHandler(this.AppShutdown);
OriginalFormTitle = this.Text;
Store = new Store();
Store.AvailableItems.Add(new POSItem(Guid.NewGuid().ToString(), "Hamburger ", 439));
Store.AvailableItems.Add(new POSItem(Guid.NewGuid().ToString(), "Cheeseburger ", 499));
Store.AvailableItems.Add(new POSItem(Guid.NewGuid().ToString(), "Dbl. Hamburger ", 559));
Store.AvailableItems.Add(new POSItem(Guid.NewGuid().ToString(), "Dbl. Cheeseburger ", 629));
Store.AvailableItems.Add(new POSItem(Guid.NewGuid().ToString(), "Chicken Sandwich ", 699));
Store.AvailableItems.Add(new POSItem(Guid.NewGuid().ToString(), "Deluxe Chicken Sandwich ", 749));
Store.AvailableItems.Add(new POSItem(Guid.NewGuid().ToString(), "French Fries - Small ", 189));
Store.AvailableItems.Add(new POSItem(Guid.NewGuid().ToString(), "French Fries - Medium ", 229));
Store.AvailableItems.Add(new POSItem(Guid.NewGuid().ToString(), "French Fries - Large ", 269));
Store.AvailableItems.Add(new POSItem(Guid.NewGuid().ToString(), "Soft Drink - Small ", 174));
Store.AvailableItems.Add(new POSItem(Guid.NewGuid().ToString(), "Soft Drink - Medium ", 189));
Store.AvailableItems.Add(new POSItem(Guid.NewGuid().ToString(), "Soft Drink - Large ", 229));
Store.AvailableItems.Add(new POSItem(Guid.NewGuid().ToString(), "Milk Shake - Vanilla ", 389));
Store.AvailableItems.Add(new POSItem(Guid.NewGuid().ToString(), "Milk Shake - Chocolate ", 399));
Store.AvailableItems.Add(new POSItem(Guid.NewGuid().ToString(), "Milk Shake - Strawberry ", 399));
Store.AvailableItems.Add(new POSItem(Guid.NewGuid().ToString(), "Gift Card - $25 ", 2500, false, false));
Store.AvailableItems.Add(new POSItem(Guid.NewGuid().ToString(), "Gift Card - $50 ", 5000, false, false));
Store.AvailableDiscounts.Add(new POSDiscount("None", 0));
Store.AvailableDiscounts.Add(new POSDiscount("10% Off", 0.1f));
Store.AvailableDiscounts.Add(new POSDiscount("$5 Off", 500));
SaleButton.ContextMenu = new ContextMenu();
MenuItem menuItem = new MenuItem("Sale with Vaulted Card");
menuItem.Enabled = false;
menuItem.Click += delegate (object sen, EventArgs args) {
uiThread.Send(delegate (object state)
{
VaultedCardListForm vclForm = new VaultedCardListForm(this);
vclForm.setCardsListView(cardsListView);
vclForm.setCardAction(VaultedCardListForm.VaultedCardAction.PAY);
vclForm.FormClosing += vaultedCardListClosing;
vclForm.Show(this);
}, null);
};
SaleButton.ContextMenu.MenuItems.Add(menuItem);
menuItem = new MenuItem("Sale with Pre-Auth");
menuItem.Enabled = false;
menuItem.Click += delegate (object sen, EventArgs args)
{
uiThread.Send(delegate (object state)
{
PreAuthListForm palForm = new PreAuthListForm(this);
palForm.preAuths = Store.PreAuths;
palForm.FormClosing += preAuthFormClosing;
palForm.Show(this);
}, null);
};
SaleButton.ContextMenu.MenuItems.Add(menuItem);
SaleButton.Click.Add(PayButton_Click);
AuthButton.ContextMenu = new ContextMenu();
menuItem = new MenuItem("Auth with Vaulted Card");
menuItem.Enabled = false;
menuItem.Click += delegate (object sen, EventArgs args)
{
uiThread.Send(delegate (object state)
{
VaultedCardListForm vclForm = new VaultedCardListForm(this);
vclForm.setCardsListView(cardsListView);
vclForm.setCardAction(VaultedCardListForm.VaultedCardAction.AUTH);
vclForm.FormClosing += vaultedCardListClosing;
vclForm.Show(this);
}, null);
};
AuthButton.ContextMenu.MenuItems.Add(menuItem);
AuthButton.Click.Add(AuthButton_Click);
foreach (POSItem item in Store.AvailableItems)
{
StoreItem si = new StoreItem();
si.Item = item;
si += StoreItems_ItemSelected;
StoreItems.Controls.Add(si);
}
foreach (POSDiscount discount in Store.AvailableDiscounts)
{
StoreDiscount si = new StoreDiscount();
si.Discount = discount;
si += StoreItems_DiscountSelected;
StoreDiscounts.Controls.Add(si);
}
SubscribeToStoreChanges(Store);
NewOrder();
}