Пример #1
0
        // Generates the buttons for the different types of MenuItems
        private void PopulateMenuItemTypes()
        {
            menuItemTypeButtons.Controls.Clear();
            menuItemTypeButtons.RowStyles.Clear();

            List <Model.MenuItem> menuItems = menu.Items;
            List <Model.MenuItem> drinks    = menuItemService.GetDrinks();

            menuItems.AddRange(drinks);

            Dictionary <string, List <Model.MenuItem> > categories = new Dictionary <string, List <Model.MenuItem> >();

            foreach (Model.MenuItem menuItem in menu.Items)
            {
                if (!categories.ContainsKey(menuItem.Subtype))
                {
                    categories.Add(menuItem.Subtype, new List <Model.MenuItem>());
                }

                categories[menuItem.Subtype].Add(menuItem);
            }

            int   numberOfRows     = (int)Math.Ceiling((decimal)categories.Count / 3);
            float percentagePerRow = 100 / numberOfRows;

            menuItemTypeButtons.RowCount = numberOfRows;

            foreach (KeyValuePair <string, List <Model.MenuItem> > category in categories)
            {
                menuItemTypeButtons.RowStyles.Add(new RowStyle(SizeType.Percent, percentagePerRow));

                menuItemTypeButtons.Controls.Add(GenerateCategoryButton(category.Value));
            }
        }