コード例 #1
0
ファイル: Menu.cs プロジェクト: nalaugh/dino-diner
        /// <summary>
        /// this removes the catigories the indiviula does not want to see
        /// </summary>
        /// <param name="str"></param>
        public void FilterCat(List <string> str)

        {
            if (!str.Contains("Combo"))
            {
                foreach (CretaceousCombo d in AvailableCombos.ToArray())
                {
                    availableCombos.Remove(d);
                }
            }
            if (!str.Contains("Entree"))
            {
                foreach (Entree e in AvailableEntrees.ToArray())
                {
                    availableEntrees.Remove(e);
                }
            }
            if (!str.Contains("Drink"))
            {
                foreach (Drink d in AvailableDrinks.ToArray())
                {
                    availableDrinks.Remove(d);
                }
            }
            if (!str.Contains("Side"))
            {
                foreach (Side d in AvailableSides.ToArray())


                {
                    availableSides.Remove(d);
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Handles form submissions, displays the page content after searching and filtering is applied.
        /// </summary>
        public void OnPost()
        {
            AvailableCombos  = Menu.AvailableCombos;
            AvailableEntrees = Menu.AvailableEntrees;
            AvailableSides   = Menu.AvailableSides;
            AvailableDrinks  = Menu.AvailableDrinks;

            if (search != null)
            {
                AvailableCombos  = AvailableCombos.Where(item => item.ToString().Contains(search, StringComparison.OrdinalIgnoreCase));
                AvailableEntrees = AvailableEntrees.Where(item => item.ToString().Contains(search, StringComparison.OrdinalIgnoreCase));
                AvailableSides   = AvailableSides.Where(item => item.ToString().Contains(search, StringComparison.OrdinalIgnoreCase));
                AvailableDrinks  = AvailableDrinks.Where(item => item.ToString().Contains(search, StringComparison.OrdinalIgnoreCase));
            }

            if (minimumPrice != null && minimumPrice < maximumPrice)
            {
                AvailableCombos  = AvailableCombos.Where(item => item.Price >= minimumPrice);
                AvailableEntrees = AvailableEntrees.Where(item => item.Price >= minimumPrice);
                AvailableSides   = AvailableSides.Where(item => item.Price >= minimumPrice);
                AvailableDrinks  = AvailableDrinks.Where(item => item.Price >= minimumPrice);
            }

            if (maximumPrice != null && maximumPrice > minimumPrice)
            {
                AvailableCombos  = AvailableCombos.Where(item => item.Price <= maximumPrice);
                AvailableEntrees = AvailableEntrees.Where(item => item.Price <= maximumPrice);
                AvailableSides   = AvailableSides.Where(item => item.Price <= maximumPrice);
                AvailableDrinks  = AvailableDrinks.Where(item => item.Price <= maximumPrice);
            }

            if (possibleIngredients.Count > 0)
            {
                foreach (string i in possibleIngredients)
                {
                    AvailableCombos  = AvailableCombos.Where(item => !item.Ingredients.Contains(i));
                    AvailableEntrees = AvailableEntrees.Where(item => !item.Ingredients.Contains(i));
                    AvailableSides   = AvailableSides.Where(item => !item.Ingredients.Contains(i));
                    AvailableDrinks  = AvailableDrinks.Where(item => !item.Ingredients.Contains(i));
                }
            }
        }
コード例 #3
0
ファイル: Menu.cs プロジェクト: nfaltermeier/dino-diner
        /// <summary>
        /// Removes a menu item from the appropriate lists
        /// </summary>
        /// <param name="item">The item to remove</param>
        public void RemoveItem(IMenuItem item)
        {
            AvalibleMenuItems.Remove(item);

            if (item is Entree e)
            {
                AvalibleEntrees.Remove(e);
            }
            else if (item is Side s)
            {
                AvailableSides.Remove(s);
            }
            else if (item is Drink d)
            {
                AvailableDrinks.Remove(d);
            }
            else if (item is CretaceousCombo c)
            {
                AvailableCombos.Remove(c);
            }
        }
コード例 #4
0
        /// <summary>
        /// Removes item from menu lists
        /// </summary>
        /// <param name="item">Menu item</param>
        public void Remove(IMenuItem item)
        {
            AvailableMenuItems.Remove(item);

            if (item is Entree)
            {
                AvailableEntrees.Remove(item as Entree);
            }
            if (item is Side)
            {
                AvailableSides.Remove(item as Side);
            }
            if (item is Drink)
            {
                AvailableDrinks.Remove(item as Drink);
            }
            if (item is CretaceousCombo)
            {
                AvailableCombos.Remove(item as CretaceousCombo);
            }
        }
コード例 #5
0
        public void OnPost()
        {
            M = new Menu();

            Sizes.Add(Size.Small);
            Sizes.Add(Size.Medium);
            Sizes.Add(Size.Large);

            if (menuCategory.Count > 0)
            {
                if (menuCategory.Contains("Combo"))
                {
                    AvailableCombos = M.AvailableMenuItems.OfType <CretaceousCombo>().Cast <IMenuItem>().ToList();    //ToList();
                }
                if (menuCategory.Contains("Entree"))
                {
                    AvailableEntrees = M.AvailableMenuItems.OfType <Entree>().Cast <IMenuItem>().ToList();
                }
                if (menuCategory.Contains("Side"))
                {
                    AvailableSides = M.AvailableMenuItems.OfType <Side>().Cast <IMenuItem>().ToList();
                }
                if (menuCategory.Contains("Drink"))
                {
                    AvailableDrinks = M.AvailableMenuItems.OfType <Drink>().Cast <IMenuItem>().ToList();
                }
            }

            if (search != null)
            {
                AvailableCombos  = AvailableCombos?.Where(item => item.ToString().Contains(search)).ToList();
                AvailableEntrees = AvailableEntrees?.Where(item => item.ToString().Contains(search)).ToList();
                AvailableSides   = AvailableSides?.Where(item => item.ToString().Contains(search)).ToList();
                AvailableDrinks  = AvailableDrinks?.Where(item => item.ToString().Contains(search)).ToList();
            }

            if (minimumPrice is float min)
            {
                AvailableCombos  = AvailableCombos?.Where(item => item.Price > min).ToList();
                AvailableEntrees = AvailableEntrees?.Where(item => item.Price > min).ToList();
                AvailableSides   = AvailableSides?.Where(item => item.Price > min).ToList();
                AvailableDrinks  = AvailableDrinks?.Where(item => item.Price > min).ToList();
            }

            if (maximumPrice is float max)
            {
                AvailableCombos  = AvailableCombos?.Where(item => item.Price < max).ToList();
                AvailableEntrees = AvailableEntrees?.Where(item => item.Price < max).ToList();
                AvailableSides   = AvailableSides?.Where(item => item.Price < max).ToList();
                AvailableDrinks  = AvailableDrinks?.Where(item => item.Price < max).ToList();
            }


            if (excludedIngredients.Count > 0)
            {
                foreach (string s in excludedIngredients)
                {
                    AvailableCombos  = AvailableCombos?.Where(item => !item.Ingredients.Contains(s)).ToList();
                    AvailableEntrees = AvailableEntrees?.Where(item => !item.Ingredients.Contains(s)).ToList();
                    AvailableSides   = AvailableSides?.Where(item => !item.Ingredients.Contains(s)).ToList();
                    AvailableDrinks  = AvailableDrinks?.Where(item => !item.Ingredients.Contains(s)).ToList();
                }
            }
        }
コード例 #6
0
        /// <summary>
        /// creates an instance of menu
        /// </summary>
        public Menu()
        {
            AvailableMenuItem.Add(new JurassicJava());
            AvailableMenuItem.Add(new Sodasaurus());
            AvailableMenuItem.Add(new Tyrannotea());
            AvailableMenuItem.Add(new Water());

            AvailableDrinks.Add(new JurassicJava());
            AvailableDrinks.Add(new Sodasaurus());
            AvailableDrinks.Add(new Tyrannotea());
            AvailableDrinks.Add(new Water());

            AvailableMenuItem.Add(new Brontowurst());
            AvailableMenuItem.Add(new DinoNuggets());
            AvailableMenuItem.Add(new Tyrannotea());
            AvailableMenuItem.Add(new PrehistoricPBJ());
            AvailableMenuItem.Add(new PterodactylWings());
            AvailableMenuItem.Add(new SteakosaurusBurger());
            AvailableMenuItem.Add(new TRexKingBurger());
            AvailableMenuItem.Add(new VelociWrap());

            AvailableEntrees.Add(new Brontowurst());
            AvailableEntrees.Add(new DinoNuggets());
            AvailableEntrees.Add(new PrehistoricPBJ());
            AvailableEntrees.Add(new PterodactylWings());
            AvailableEntrees.Add(new SteakosaurusBurger());
            AvailableEntrees.Add(new TRexKingBurger());
            AvailableEntrees.Add(new VelociWrap());

            AvailableMenuItem.Add(new Fryceritops());
            AvailableMenuItem.Add(new MeteorMacAndCheese());
            AvailableMenuItem.Add(new MezzorellaSticks());
            AvailableMenuItem.Add(new Triceritots());

            AvailableSides.Add(new Fryceritops());
            AvailableSides.Add(new MeteorMacAndCheese());
            AvailableSides.Add(new MezzorellaSticks());
            AvailableSides.Add(new Triceritots());

            AvailableMenuItem.Add(new CretaceousCombo(new Brontowurst()));
            AvailableMenuItem.Add(new CretaceousCombo(new DinoNuggets()));
            AvailableMenuItem.Add(new CretaceousCombo(new PrehistoricPBJ()));
            AvailableMenuItem.Add(new CretaceousCombo(new PterodactylWings()));
            AvailableMenuItem.Add(new CretaceousCombo(new SteakosaurusBurger()));
            AvailableMenuItem.Add(new CretaceousCombo(new TRexKingBurger()));
            AvailableMenuItem.Add(new CretaceousCombo(new VelociWrap()));

            AvailableCombos.Add(new CretaceousCombo(new Brontowurst()));
            AvailableCombos.Add(new CretaceousCombo(new DinoNuggets()));
            AvailableCombos.Add(new CretaceousCombo(new PrehistoricPBJ()));
            AvailableCombos.Add(new CretaceousCombo(new PterodactylWings()));
            AvailableCombos.Add(new CretaceousCombo(new SteakosaurusBurger()));
            AvailableCombos.Add(new CretaceousCombo(new TRexKingBurger()));
            AvailableCombos.Add(new CretaceousCombo(new VelociWrap()));

            foreach (IOrderItem menu in AvailableMenuItem)
            {
                foreach (string i in menu.Ingredients)
                {
                    if (!PossibleIngredients.Contains(i))
                    {
                        PossibleIngredients.Add(i);
                    }
                }
            }
            PossibleIngredients.Sort();
        }
コード例 #7
0
        /// <summary>
        /// Method for each attribute set to post
        /// </summary>
        public void OnPost()
        {
            AvailableCombos  = Menu.AvailableCombos;
            AvailableEntrees = Menu.AvailableEntrees;
            AvailableSides   = Menu.AvailableSides;
            AvailableDrinks  = Menu.AvailableDrinks;

            if (search != null)
            {
                //SearchName(search);
                AvailableCombos = AvailableCombos.Where(item => item.Description.Contains(search,
                                                                                          StringComparison.OrdinalIgnoreCase));

                AvailableEntrees = AvailableEntrees.Where(item => item.Description.Contains(search,
                                                                                            StringComparison.OrdinalIgnoreCase));

                AvailableSides = AvailableSides.Where(item => item.Description.Contains(search,
                                                                                        StringComparison.OrdinalIgnoreCase));

                AvailableDrinks = AvailableDrinks.Where(item => item.Description.Contains(search,
                                                                                          StringComparison.OrdinalIgnoreCase));
            }
            // MIN PRICE
            if (minPrice != null)
            {
                if (minPrice is float minimumPrice)
                {
                    AvailableCombos  = AvailableCombos.Where(item => item.Price >= minimumPrice);
                    AvailableEntrees = AvailableEntrees.Where(item => item.Price >= minimumPrice);
                    AvailableSides   = AvailableSides.Where(item => item.Price >= minimumPrice);
                    AvailableDrinks  = AvailableDrinks.Where(item => item.Price >= minimumPrice);
                }
            }
            // MAX PRICE
            if (maxPrice != null)
            {
                if (maxPrice is float maximumPrice)
                {
                    AvailableCombos  = AvailableCombos.Where(item => item.Price <= maximumPrice);
                    AvailableEntrees = AvailableEntrees.Where(item => item.Price <= maximumPrice);
                    AvailableEntrees = AvailableEntrees.Where(item => item.Price <= maximumPrice);
                    AvailableDrinks  = AvailableDrinks.Where(item => item.Price <= maximumPrice);
                }
            }

            if (menuCategory.Count != 0)
            {
                if (!menuCategory.Contains("Combo"))
                {
                    AvailableCombos = new List <CretaceousCombo>();
                }
                if (!menuCategory.Contains("Entree"))
                {
                    AvailableEntrees = new List <Entree>();
                }
                if (!menuCategory.Contains("Side"))
                {
                    AvailableSides = new List <Side>();
                }
                if (!menuCategory.Contains("Drink"))
                {
                    AvailableDrinks = new List <Drink>();
                }
            }


            //INGREDIENT
            if (ingredient.Count > 0)
            {
                AvailableCombos = AvailableCombos.Where(item =>
                {
                    foreach (string i in ingredient)
                    {
                        if (item.Ingredients.Contains(i))
                        {
                            return(false);
                        }
                    }
                    return(true);
                });

                AvailableEntrees = AvailableEntrees.Where(item =>
                {
                    foreach (string i in ingredient)
                    {
                        if (item.Ingredients.Contains(i))
                        {
                            return(false);
                        }
                    }
                    return(true);
                });

                AvailableSides = AvailableSides.Where(item =>
                {
                    foreach (string i in ingredient)
                    {
                        if (item.Ingredients.Contains(i))
                        {
                            return(false);
                        }
                    }
                    return(true);
                });

                AvailableDrinks = AvailableDrinks.Where(item =>
                {
                    foreach (string i in ingredient)
                    {
                        if (item.Ingredients.Contains(i))
                        {
                            return(false);
                        }
                    }
                    return(true);
                });
            }
        } // End of OnPost method
コード例 #8
0
        /// <summary>
        /// Method executed whenever a post request is recieved for the current page. Searches and filters
        /// the menu items on the page and then returns the ones that match the filters.
        /// </summary>
        public void OnPost()
        {
            if (Menu == null)
            {
                Menu = new Menu();
            }

            AvailableCombos  = Menu.AvailableCombos;
            AvailableEntrees = Menu.AvailableEntrees;
            AvailableSides   = Menu.AvailableSides;
            AvailableDrinks  = Menu.AvailableDrinks;

            if (search != null)
            {
                //AvailableCombos = Menu.Search(AvailableCombos, search);
                AvailableCombos = AvailableCombos.Where(item => item.Description.Replace("Small", "")
                                                        .Contains(search, StringComparison.CurrentCultureIgnoreCase));

                //AvailableEntrees = Menu.Search(AvailableEntrees, search);
                AvailableEntrees = AvailableEntrees.Where(item => item.Description.Replace("Small", "")
                                                          .Contains(search, StringComparison.CurrentCultureIgnoreCase));

                //AvailableSides = Menu.Search(AvailableSides, search);
                AvailableSides = AvailableSides.Where(item => item.Description.Replace("Small", "")
                                                      .Contains(search, StringComparison.CurrentCultureIgnoreCase));

                //AvailableDrinks = Menu.Search(AvailableDrinks, search);
                AvailableDrinks = AvailableDrinks.Where(item => item.Description.Replace("Small", "")
                                                        .Contains(search, StringComparison.CurrentCultureIgnoreCase));
            }

            if (menuCategory.Count > 0)
            {
                if (!menuCategory.Contains("Combo"))
                {
                    AvailableCombos = new List <CretaceousCombo>();
                }

                if (!menuCategory.Contains("Entree"))
                {
                    AvailableEntrees = new List <Entree>();
                }

                if (!menuCategory.Contains("Side"))
                {
                    AvailableSides = new List <Side>();
                }

                if (!menuCategory.Contains("Drink"))
                {
                    AvailableDrinks = new List <Drink>();
                }
            }

            if (minimumPrice is float min)
            {
                //AvailableCombos = Menu.FilterByMinimumPrice(AvailableCombos, min);
                AvailableCombos = AvailableCombos.Where(item => item.Price >= min);

                //AvailableEntrees = Menu.FilterByMinimumPrice(AvailableEntrees, min);
                AvailableEntrees = AvailableEntrees.Where(item => item.Price >= min);

                //AvailableSides = Menu.FilterByMinimumPrice(AvailableSides, min);
                AvailableSides = AvailableSides.Where(item => item.Price >= min);

                //AvailableDrinks = Menu.FilterByMinimumPrice(AvailableDrinks, min);
                AvailableDrinks = AvailableDrinks.Where(item => item.Price >= min);
            }

            if (maximumPrice is float max)
            {
                //AvailableCombos = Menu.FilterByMaximumPrice(AvailableCombos, max);
                AvailableCombos = AvailableCombos.Where(item => item.Price <= max);

                //AvailableEntrees = Menu.FilterByMaximumPrice(AvailableEntrees, max);
                AvailableEntrees = AvailableEntrees.Where(item => item.Price <= max);

                //AvailableSides = Menu.FilterByMaximumPrice(AvailableSides, max);
                AvailableSides = AvailableSides.Where(item => item.Price <= max);

                //AvailableDrinks = Menu.FilterByMaximumPrice(AvailableDrinks, max);
                AvailableDrinks = AvailableDrinks.Where(item => item.Price <= max);
            }

            if (excludedIngredients.Count > 0)
            {
                //AvailableCombos = Menu.FilterByExcludedIngredients(AvailableCombos, excludedIngredients);
                AvailableCombos = AvailableCombos.Where(item =>
                {
                    foreach (string ingredient in excludedIngredients)
                    {
                        if (item.Ingredients.Contains(ingredient))
                        {
                            return(false);
                        }
                    }

                    return(true);
                });

                //AvailableEntrees = Menu.FilterByExcludedIngredients(AvailableEntrees, excludedIngredients);
                AvailableEntrees = AvailableEntrees.Where(item =>
                {
                    foreach (string ingredient in excludedIngredients)
                    {
                        if (item.Ingredients.Contains(ingredient))
                        {
                            return(false);
                        }
                    }

                    return(true);
                });

                //AvailableSides = Menu.FilterByExcludedIngredients(AvailableSides, excludedIngredients);
                AvailableSides = AvailableSides.Where(item =>
                {
                    foreach (string ingredient in excludedIngredients)
                    {
                        if (item.Ingredients.Contains(ingredient))
                        {
                            return(false);
                        }
                    }

                    return(true);
                });

                //AvailableDrinks = Menu.FilterByExcludedIngredients(AvailableDrinks, excludedIngredients);
                AvailableDrinks = AvailableDrinks.Where(item =>
                {
                    foreach (string ingredient in excludedIngredients)
                    {
                        if (item.Ingredients.Contains(ingredient))
                        {
                            return(false);
                        }
                    }

                    return(true);
                });
            }
        }