@@ -64,6 +64,16 @@ public void BindTableComboBox()
6464 ComboTable . SelectedValuePath = "TableId" ;
6565 }
6666
67+ public void BindMealComboBox ( )
68+ {
69+ var query = from b in database . Meals
70+ select b ;
71+
72+ ComboMeal . ItemsSource = query . ToList ( ) ;
73+ ComboMeal . DisplayMemberPath = "Meal_name" ;
74+ ComboMeal . SelectedValuePath = "MealId" ;
75+ }
76+
6777 public void BindWaiterStats ( )
6878 {
6979 var query = from b in database . Waiters
@@ -118,7 +128,7 @@ private void LoadTab(object sender, SelectionChangedEventArgs e)
118128 }
119129 if ( Meal . IsSelected )
120130 {
121-
131+ BindMealComboBox ( ) ;
122132 }
123133 if ( Stats . IsSelected )
124134 {
@@ -342,22 +352,111 @@ private void UpdateTableBox(object sender, SelectionChangedEventArgs e)
342352
343353 private void AddMeal ( object sender , RoutedEventArgs e )
344354 {
355+ double price = 1 ;
356+
357+ if ( Double . TryParse ( MealPrice . Text , out price ) )
358+ {
359+ var meal = new Meal
360+ {
361+ Price = price ,
362+ Meal_name = MealName . Text
363+ } ;
345364
365+ database . Meals . Add ( meal ) ;
366+ database . SaveChanges ( ) ;
367+ MealStatus . Content = "Meal created" ;
368+ BindMealComboBox ( ) ;
369+ }
370+ else
371+ {
372+ MealStatus . Content = "Please choose a valid price" ;
373+ }
346374 }
347375
348- private void UpdateMealBox ( object sender , SelectionChangedEventArgs e )
376+ private void UpdateMeal ( object sender , RoutedEventArgs e )
349377 {
378+ if ( ComboMeal . SelectedValue != null )
379+ {
380+ double price = 1 ;
381+
382+ if ( Double . TryParse ( MealPriceModify . Text , out price ) )
383+ {
384+ int index = ( int ) ComboMeal . SelectedValue ;
385+
386+ if ( index > 0 )
387+ {
388+ var query = from b in database . Meals
389+ where b . MealId == index
390+ select b ;
350391
392+ foreach ( var item in query )
393+ {
394+ item . Price = price ;
395+ item . Meal_name = MealNameModify . Text ;
396+ }
397+ database . SaveChanges ( ) ;
398+ BindMealComboBox ( ) ;
399+ MealStatus . Content = "Meal updated" ;
400+ }
401+ }
402+ else
403+ {
404+ MealStatus . Content = "Please choose a valid price" ;
405+ }
406+ }
407+ else
408+ {
409+ MealStatus . Content = "No meal selected" ;
410+ }
351411 }
352412
353- private void UpdateMeal ( object sender , RoutedEventArgs e )
413+ private void DeleteMeal ( object sender , RoutedEventArgs e )
354414 {
415+ if ( ComboMeal . SelectedValue != null )
416+ {
417+ int index = ( int ) ComboMeal . SelectedValue ;
418+
419+ if ( index > 0 )
420+ {
421+ var query = from b in database . Meals
422+ where b . MealId == index
423+ select b ;
355424
425+ foreach ( var item in query )
426+ {
427+ database . Meals . Remove ( item ) ;
428+ }
429+
430+ database . SaveChanges ( ) ;
431+ BindMealComboBox ( ) ;
432+ MealStatus . Content = "Meal removed" ;
433+ }
434+ }
435+ else
436+ {
437+ MealStatus . Content = "No meal selected" ;
438+ }
356439 }
357440
358- private void DeleteMeal ( object sender , RoutedEventArgs e )
441+ private void UpdateMealBox ( object sender , SelectionChangedEventArgs e )
359442 {
443+ if ( ComboMeal . SelectedValue != null )
444+ {
445+ int index = ( int ) ComboMeal . SelectedValue ;
360446
447+ if ( index > 0 )
448+ {
449+ var query = from b in database . Meals
450+ where b . MealId == index
451+ select b ;
452+
453+ foreach ( var item in query )
454+ {
455+ MealNameModify . Text = item . Meal_name ;
456+ MealPriceModify . Text = item . Price . ToString ( ) ;
457+ }
458+ }
459+ }
361460 }
362461 }
363462}
0 commit comments