public MenuViewModel() { Headers = new List<Header>(); if (IsInDesignMode) { var header = new Header {Title = "Header"}; var meal = new Meal {Title = "Meal"}; header.Meals.Add(meal); Headers.Add(header); Meals = new List<Meal>(header.Meals); Header = header; } else { using (var entities = new HillStationEntities()) { foreach (var header in entities.Headers.Include(h => h.Meals).OrderBy(h => h.DisplayOrder).ToList()) { Headers.Add(new Header(header)); } } } Cancel = new RelayCommand(CancelUpdate); SaveData = new RelayCommand(Save); Decrement = new RelayCommand<string>(p => AdjustPrice(p, -0.05m)); Increment = new RelayCommand<string>(p => AdjustPrice(p, 0.05m)); }
public Meal(Meal meal) { Id = meal.Id; HeaderId = meal.HeaderId; MealNumber = meal.MealNumber; Title = meal.Title; Price = meal.Price; ChickenPrice = meal.ChickenPrice; LambPrice = meal.LambPrice; VegetablePrice = meal.VegetablePrice; PrawnPrice = meal.PrawnPrice; KingPrawnPrice = meal.KingPrawnPrice; DisplayOrder = meal.DisplayOrder; }
/// <summary> /// Initializes a new instance of the MainViewModel class. /// </summary> public MainViewModel(IDataService dataService, IWindowService windowService) { _dataService = dataService; _windowService = windowService; Headers = new List<Header>(); Meals = new List<Meal>(); OrderItems = new ObservableCollection<OrderItem>(); if (IsInDesignMode) { var orderItem = new OrderItem { Description = "Meal Description", Price = 10.95M, Notes = "These are meal notes" }; OrderItems.Add(orderItem); var header = new Header {Title = "Starters"}; Headers.Add(header); var meal = new Meal { Price = 5m, ChickenPrice = 5m, KingPrawnPrice = 5m, LambPrice = 5m, PrawnPrice = 5m, VegetablePrice = 5m, Title = "This is a meal" }; Meals.Add(meal); OrderNumber = "A0001"; Address = "David McCallum" + Environment.NewLine + "10 Bingham Broadway" + Environment.NewLine + "EH15 3JL" + Environment.NewLine + "07757 438 032"; } OrderNumber = "A0001"; Address = "David McCallum" + Environment.NewLine + "10 Bingham Broadway" + Environment.NewLine + "EH15 3JL" + Environment.NewLine + "07757 438 032"; OrderItems.CollectionChanged += UpdateTotals; }
private void MakeAdjustment(Meal meal, string priceType, decimal amount) { switch (priceType) { case "Price": if (meal.Price == 0 && amount < 0) return; meal.Price = meal.Price + amount; break; case "Chicken": if (meal.ChickenPrice == 0 && amount < 0) return; meal.ChickenPrice = meal.ChickenPrice + amount; break; case "Lamb": if (meal.LambPrice == 0 && amount < 0) return; meal.LambPrice = meal.LambPrice + amount; break; case "Vegetable": if (meal.VegetablePrice == 0 && amount < 0) return; meal.VegetablePrice = meal.VegetablePrice + amount; break; case "Prawn": if (meal.PrawnPrice == 0 && amount < 0) return; meal.PrawnPrice = meal.PrawnPrice + amount; break; case "KingPrawn": if (meal.KingPrawnPrice == 0 && amount < 0) return; meal.KingPrawnPrice = meal.KingPrawnPrice + amount; break; } }