Beispiel #1
0
        private void LoadDrinkCategoryForDisplay(DrinkCategory newDrinkCategory)
        {
            List <DrinkDisplayRow> rows = new List <DrinkDisplayRow>();

            try
            {
                if (DrinkDisplayDictionary.ContainsKey(newDrinkCategory))
                {
                    rows = DrinkDisplayDictionary[newDrinkCategory];
                }
                else
                {
                    List <Drink> drinksForDisplay = MenuDrinks.GetDrinksList(newDrinkCategory);
                    if (newDrinkCategory == DrinkCategory.DraftBeer)
                    {
                        var pints    = new List <Drink>();
                        var pitchers = new List <Drink>();
                        foreach (var drink in drinksForDisplay)
                        {
                            if (drink.DrinkSize == DrinkSize.Pint)
                            {
                                pints.Add(drink);
                            }
                            else
                            {
                                pitchers.Add(drink);
                            }
                        }
                        rows = GetDrinkDisplayRows(pints);
                        rows.AddRange(GetDrinkDisplayRows(pitchers));
                    }
                    else
                    {
                        rows = GetDrinkDisplayRows(drinksForDisplay);
                    }

                    DrinkDisplayDictionary.Add(newDrinkCategory, rows);
                }

                if (newDrinkCategory == DrinkCategory.DraftBeer)
                {
                    DrinksGroups = new ObservableCollection <DrinksGroup>(ConvertBeerRowsToGroups(rows));
                }
                else
                {
                    DrinkDisplayItems = new ObservableCollection <DrinkDisplayRow>(rows);
                }
            }
            catch (Exception ex)
            {
                var error = ex.InnerException;
                throw;
            }
        }
Beispiel #2
0
        public static Drink GetDrink(GuestItem oldGuestItem)
        {
            DrinkSize drinkSize = DrinkSize.JustOneSize;

            switch (oldGuestItem.SelectSizeID)
            {
            case 3:
                drinkSize = DrinkSize.Glass;
                break;

            case 6:
                drinkSize = DrinkSize.Bottle;
                break;

            case 1:
                drinkSize = DrinkSize.Pint;
                break;

            case 2:
                drinkSize = DrinkSize.Pitcher;
                break;

            default:
                drinkSize = DrinkSize.JustOneSize;
                break;
            }

            Drink drink    = MenuDrinks.GetDrinkFromMenu(oldGuestItem.ID, drinkSize);
            var   newdrink = drink.GetClone();

            newdrink.DbItemId         = oldGuestItem.ID;
            newdrink.WasSentToKitchen = oldGuestItem.OrderSent;
            newdrink.DbOrderId        = (int)oldGuestItem.OrderID;
            newdrink.ItemCount        = 1;
            return(newdrink);
        }
Beispiel #3
0
 public override Tuple <string, decimal> GetMenuDbItemKeys()
 {
     return(Tuple.Create <string, decimal>("Beverages", MenuDrinks.GetDbItemId(DrinkType)));
 }
Beispiel #4
0
 public Drink(DrinkType drinkType)
 {
     DrinkType = drinkType;
     DbItemId  = MenuDrinks.GetDbItemId(drinkType);
     PopulatePricePerItem();
 }
Beispiel #5
0
        public void OnDrinksSelected(DrinkCategory newDrinkCategory)
        {
            try
            {
                if (IsDrinkSelectedForEdit)
                {
                    List <Drink> drinksForDisplay = MenuDrinks.GetDrinksList(newDrinkCategory);
                    for (int i = 0; i < drinksForDisplay.Count; i++)
                    {
                        if (drinksForDisplay[i].DrinkType == drinkSelectedForEditDrinkType &&
                            drinksForDisplay[i].DrinkSize == drinkSelectedForEditDrinkSize)
                        {
                            if (newDrinkCategory == DrinkCategory.DraftBeer)
                            {
                                if (i < 5)
                                {
                                    DrinkForEditIndex = (int)Math.Floor(i / 3M);
                                }
                                else
                                {
                                    switch (i)
                                    {
                                    case 5:
                                    case 6:
                                    case 7:
                                        DrinkForEditIndex = 2;
                                        break;

                                    case 8:
                                        DrinkForEditIndex = 3;
                                        break;
                                    }
                                }
                            }
                            else
                            {
                                DrinkForEditIndex = (int)Math.Floor(i / 3M);
                            }
                            break;
                        }
                    }
                }
                else
                {
                    ScrollToTopOfList?.Invoke(this, EventArgs.Empty);
                }
                //Load new drinks onto page.
                LoadDrinkCategoryForDisplay(newDrinkCategory);
            }
            catch (Exception ex)
            {
                var error = ex.InnerException;
                throw;
            }

            //In case we've already added drinks to this order and are returning to that
            //drink category, we want to show what was added previously.
            LoadPreviousDrinkSelections(newDrinkCategory);
            switch (newDrinkCategory)
            {
            case DrinkCategory.SoftDrink:
                SoftDrinksSelected  = true;
                BottledBeerSelected = false;
                DraftBeerSelected   = false;
                GlassWineSelected   = false;
                BottleWineSelected  = false;
                break;

            case DrinkCategory.DraftBeer:
                DraftBeerSelected   = true;
                SoftDrinksSelected  = false;
                BottledBeerSelected = false;
                GlassWineSelected   = false;
                BottleWineSelected  = false;
                break;

            case DrinkCategory.BottledBeer:
                BottledBeerSelected = true;
                SoftDrinksSelected  = false;
                DraftBeerSelected   = false;
                GlassWineSelected   = false;
                BottleWineSelected  = false;
                break;

            case DrinkCategory.GlassWine:
                GlassWineSelected   = true;
                SoftDrinksSelected  = false;
                BottledBeerSelected = false;
                DraftBeerSelected   = false;
                BottleWineSelected  = false;
                break;

            case DrinkCategory.BottleWine:
                BottleWineSelected  = true;
                SoftDrinksSelected  = false;
                BottledBeerSelected = false;
                DraftBeerSelected   = false;
                GlassWineSelected   = false;
                break;
            }
            currentDrinkCategorySelected = newDrinkCategory;
        }