/// <summary> /// Checks if the item has a property in POSSIBLE_OPTIONS and if so adds a checkbox or combo box for that property /// Binds that box to the property as well /// </summary> /// <param name="item"></param> public void LoadOptionsForItem(IOrderItem item) { label.Content = $"Customization Window for {item.DisplayName}"; this.DataContext = item; // if this item is a combo item // load choice of entree, side, and drink if (item is Combo combo) { AddComboItemPanel(BleakwindBuffet.Data.Menu.EntreeTypes()); AddComboItemPanel(BleakwindBuffet.Data.Menu.SideTypes()); AddComboItemPanel(BleakwindBuffet.Data.Menu.DrinkTypes()); } else { foreach (var property in item.GetType().GetProperties()) { if (property == null) { continue; } string option = property.Name; if (property.PropertyType == typeof(Boolean)) { AddCheckBox(property, option, (bool)property.GetValue(item)); } else if (property.PropertyType == typeof(Size)) { AddComboBox(property, Sizes.GetSizes()); } else if (property.PropertyType == typeof(SodaFlavor)) { AddComboBox(property, SodaFlavors.GetFlavors()); } } } }
private void PopulateLookups() { //categories checkbox var _cat = new Categories(); _cat.GetCategories(); foreach (Category t in _cat) { ListItem li = new ListItem(t.CatName, t.Id.ToString()); this.cbCat.Items.Add(li); } //Fixed Sizes checkbox var _sizes = new Sizes(); _sizes.GetSizes(); foreach (Size s in _sizes) { ListItem li = new ListItem(s.SizeCode, s.SizeId.ToString()); this.cbSizes.Items.Add(li); } var _pro = new Products(); _pro.GetProducts(null); this.ddlProducts.Items.Add(new ListItem("New Product", "-1")); foreach (Product p in _pro) { ListItem li = new ListItem(p.ProductName, p.ProductId.ToString()); this.ddlProducts.Items.Add(li); } }