using System.Collections.Generic;
static void Main(string[] args)
order.CustomerName = "Alice";
order.Items = new List<OrderItem>();
order.Items.Add(new OrderItem() { Name = "Book", Price = 10.5, Quantity = 1 });
order.Items.Add(new OrderItem() { Name = "Pen", Price = 2, Quantity = 5 });
order.Items.Add(new OrderItem() { Name = "Notebook", Price = 4, Quantity = 2 });
order.Items.Add(new OrderItem() { Name = "Stapler", Price = 6, Quantity = 1 });
order.Items.Add(new OrderItem() { Name = "Eraser", Price = 1, Quantity = 3 });
order.Items.Add(new OrderItem() { Name = "Ruler", Price = 3, Quantity = 2 });
var processor = new OrderProcessor();
processor.Process(order);
public class OrderProcessor
public void Process(Order order)
if (order.CustomerName == null || order.CustomerName == "")
Console.WriteLine("Customer name is required.");
foreach (var item in order.Items)
total += item.Price * item.Quantity;
if (order.Items.Count > 5)
total = total - (total * 0.1);
Console.WriteLine("Order processed for " + order.CustomerName);
Console.WriteLine("Total: $" + total);
public string CustomerName;
public List<OrderItem> Items;