private void Button_IncQty(object sender, RoutedEventArgs e) { if (Dg_OrderedFoods.SelectedItem != null) { var selectedFood = Dg_OrderedFoods.SelectedItem as OrderedFood; if (selectedFood.ServedStatus) { var food = new OrderedFood { FoodId = selectedFood.FoodId, FoodName = selectedFood.FoodName, FoodPrice = selectedFood.FoodPrice, Quantity = 1, ServedStatus = false }; food.TotalPrice = food.Quantity * food.FoodPrice; order.OrderedFoods.Add(food); } else { order.OrderedFoods.Where(S => S.FoodId == selectedFood.FoodId && S.ServedStatus == false) .Select(S => { S.Quantity += 1; S.TotalPrice = selectedFood.FoodPrice * S.Quantity; return(S); }).ToList(); } Dg_OrderedFoods.Items.Refresh(); totalPrice = totalPrice + selectedFood.FoodPrice; SetTotalPrice(); } else { MessageBox.Show("Select a food to increment"); } }
internal static void UpdateServedStatus(string orderId, OrderedFood orderedFood) { foreach (var ord in Instance.ordersInProcessingList) { if (ord.OrderId == orderId) { foreach (var food in ord.OrderedFoods) { if (food.FoodId == orderedFood.FoodId) { if (food.Quantity == orderedFood.Quantity && food.ServedStatus == false) { food.ServedStatus = true; if (Instance.order != null && Instance.order.OrderId == ord.OrderId) { Instance.Sp_CurrentOrderDetails.DataContext = ord; Instance.Dg_OrderedFoods.Items.Refresh(); } } break; } } break; } } MyStorage.WriteXML <ObservableCollection <Order> >("ordersInProcessing.xml", Instance.ordersInProcessingList); }
private void LBx_Food_SelectionChanged(object sender, RoutedEventArgs e) { var food = LBx_Food.SelectedItem as Food; bool updated = false; if (CoBx_TableNo.SelectedItem == null) { MessageBox.Show("Select the tableNo and proceed"); } else if (order != null && food != null) { var orderedFood = new OrderedFood { FoodId = food.FoodId, FoodName = food.FoodName, FoodPrice = food.FoodPrice, Quantity = 1, ServedStatus = false }; orderedFood.TotalPrice = orderedFood.FoodPrice * orderedFood.Quantity; foreach (var item in order.OrderedFoods) { if (item.FoodId == orderedFood.FoodId) { MessageBox.Show("Food is already added to Orders"); updated = true; break; } } if (!updated) { order.OrderedFoods.Add(orderedFood); totalPrice = totalPrice + food.FoodPrice; } Sp_CurrentOrderDetails.DataContext = order; Dg_OrderedFoods.ItemsSource = order.OrderedFoods; SetTotalPrice(); } }