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; } }
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); }
public override Tuple <string, decimal> GetMenuDbItemKeys() { return(Tuple.Create <string, decimal>("Beverages", MenuDrinks.GetDbItemId(DrinkType))); }
public Drink(DrinkType drinkType) { DrinkType = drinkType; DbItemId = MenuDrinks.GetDbItemId(drinkType); PopulatePricePerItem(); }
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; }