PizzaGenerator
unknown
csharp
2 years ago
2.3 kB
13
Indexable
using Newtonsoft.Json;
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace Spindox.Vodafone.Monet.ConsoleTest
{
public class Pizza
{
public string Base { get; set; } = "Margherita";
public string[] Ingredients { get; set; }
public Pizza(string[] ingredients)
{
Ingredients = ingredients;
}
}
class Program
{
static async Task Main(string[] args)
{
string[] pizzaIngredients;
bool roastedPotatoes = await CheckRoastedPotatoes();
pizzaIngredients = roastedPotatoes
? new string[] { "Wurstel", "Roasted Potatoes" }
: new string[] { "Wurstel", "Black Olives" };
var alePizza = new Pizza(pizzaIngredients);
await SendToMatte(alePizza);
}
static async Task<bool> CheckRoastedPotatoes()
{
using var client = new HttpClient();
string url = "PizzeriaWebService";
var response = await client.GetAsync(url);
if (response.IsSuccessStatusCode)
{
var responseContent = await response.Content.ReadAsStringAsync();
return responseContent.ToLower() == "true";
}
else
{
Console.WriteLine("Error calling the web service.");
return false;
}
}
static async Task SendToMatte(Pizza pizza)
{
using (HttpClient client = new HttpClient())
{
string orderServiceUrl = "MatteWebService";
var orderContent = new StringContent($"{{\"type\":\"{pizza.Base}\",\"ingredients\":{JsonConvert.SerializeObject(pizza.Ingredients)}}}",
Encoding.UTF8, "application/json");
HttpResponseMessage response = await client.PostAsync(orderServiceUrl, orderContent);
if (response.IsSuccessStatusCode)
Console.WriteLine("Order placed successfully!");
else
Console.WriteLine("Error placing the order.");
}
}
}
}
Editor is loading...