-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cafe.cs
39 lines (33 loc) · 1.28 KB
/
Cafe.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
using Pizza.Pizzas;
using Pizza.Builders;
namespace Pizza
{
class Cafe
{
public BlankPizza GetPizza (string pizza)
{
switch(pizza)
{
case "Carbonara":
CarbonaraBuilder carbonaraBuilder = new CarbonaraBuilder();
carbonaraBuilder.SetCheese().SetTomatoes().SetMeat();
return carbonaraBuilder.pizza;
case "Italian":
ItalianBuilder italianBuilder = new ItalianBuilder();
italianBuilder.SetCheese().SetTomatoes().SetOlives().SetMeat();
return italianBuilder.pizza;
case "Margarita":
MargaritaBuilder margaritaBuilder = new MargaritaBuilder();
margaritaBuilder.SetCheese().SetTomatoes().SetOlives();
return margaritaBuilder.pizza;
case "Pepperoni":
PepperoniBuilder pepperoniBuilder = new PepperoniBuilder();
pepperoniBuilder.SetCheese().SetTomatoes().SetMeat();
return pepperoniBuilder.pizza;
default:
throw new InvalidOperationException("This pizza is not on the menu");
}
}
}
}