Skip to content

Commit 644065f

Browse files
committed
Fin de l'onglet Meal et amelioration de l'affichage des tables
1 parent 7fd7781 commit 644065f

File tree

3 files changed

+122
-8
lines changed

3 files changed

+122
-8
lines changed

Restaurant/DataBaseControl.xaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,10 @@
8282
<TabItem x:Name="Stats" Header="Stats">
8383
<Grid Background="#FFE5E5E5">
8484
<Label Content="Sort by:" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.47,0.523"/>
85-
<ComboBox HorizontalAlignment="Left" Margin="65,14,0,0" VerticalAlignment="Top" Width="120"/>
85+
<ComboBox HorizontalAlignment="Left" Margin="65,14,0,0" VerticalAlignment="Top" Width="120">
86+
<ComboBoxItem Content="Table served"/>
87+
<ComboBoxItem Content="Bills price sum"/>
88+
</ComboBox>
8689
<DataGrid Name="WaiterGrid" HorizontalAlignment="Left" Margin="10,53,0,0" VerticalAlignment="Top" Height="211" Width="461"/>
8790
<Button Content="Debug" HorizontalAlignment="Left" Margin="372,16,0,0" VerticalAlignment="Top" Width="75" Click="UpdateDebug"/>
8891
</Grid>

Restaurant/DataBaseControl.xaml.cs

Lines changed: 103 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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
}

Restaurant/MainControl.xaml.cs

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,21 @@ private void LoadTables(){
4747
foreach (var item in query)
4848
{
4949
//create a button
50-
System.Windows.Controls.Button newBtn = new Button();
51-
newBtn.Content = "A New Button";
52-
Wrap.Children.Add(newBtn);
50+
System.Windows.Controls.Button Tablebutton = new Button();
51+
Tablebutton.Content = String.Format("Table {0}\n{1} {2}", item.TableId, item.Chair_number, item.Chair_number > 1?"people":"peoples");
52+
Tablebutton.Height = 100;
53+
Tablebutton.Width = 100;
54+
Tablebutton.Margin = new System.Windows.Thickness(5);
55+
if (item.isEmpty)
56+
{
57+
Tablebutton.Background = Brushes.Green;
58+
}
59+
else
60+
{
61+
Tablebutton.Background = Brushes.Red;
62+
}
63+
64+
Wrap.Children.Add(Tablebutton);
5365
}
5466
}
5567
}

0 commit comments

Comments
 (0)