using System.Collections.Generic;
public static void Main()
List<Customer> customers = new List<Customer>()
new Customer(){ ID = Guid.NewGuid(), Age = 23, FName = "Joe", LName = "Smith"},
new Customer(){ ID = Guid.NewGuid(), Age = 34, FName = "Kevin", LName = "Costner"},
new Customer(){ ID = Guid.NewGuid(), Age = 23, FName = "Sally", LName = "Smuthers"},
new Customer(){ ID = Guid.NewGuid(), Age = 56, FName = "Mary", LName = "Jane"},
new Customer(){ ID = Guid.NewGuid(), Age = 48, FName = "Jane", LName = "Kendall"},
new Customer(){ ID = Guid.NewGuid(), Age = 34, FName = "Eve", LName = "Shrimp"},
new Customer(){ ID = Guid.NewGuid(), Age = 31, FName = "Donna", LName = "Lynn"},
new Customer(){ ID = Guid.NewGuid(), Age = 21, FName = "Sarah", LName = "Spicer"},
List<Order> orders = new List<Order>()
new Order() { CustomerID = customers[0].ID, Description = "Shoes", Price = 150.23M, Quantity = 1},
new Order() { CustomerID = customers[0].ID, Description = "Phone", Price = 130.25M, Quantity = 1},
new Order() { CustomerID = customers[0].ID, Description = "Jacket", Price = 230.14M, Quantity = 1},
new Order() { CustomerID = customers[1].ID, Description = "Phone", Price = 130.25M, Quantity = 1},
new Order() { CustomerID = customers[1].ID, Description = "Jacket", Price = 230.14M, Quantity = 1},
new Order() { CustomerID = customers[1].ID, Description = "Pants", Price = 70.56M, Quantity = 1},
new Order() { CustomerID = customers[2].ID, Description = "Jacket", Price = 230.14M, Quantity = 1},
new Order() { CustomerID = customers[2].ID, Description = "Pants", Price = 70.56M, Quantity = 1},
new Order() { CustomerID = customers[2].ID, Description = "Shirt", Price = 49.99M, Quantity = 1},
new Order() { CustomerID = customers[3].ID, Description = "Pants", Price = 70.56M, Quantity = 1},
new Order() { CustomerID = customers[3].ID, Description = "Shirt", Price = 49.99M, Quantity = 1},
new Order() { CustomerID = customers[3].ID, Description = "Scarf", Price = 23.69M, Quantity = 1},
new Order() { CustomerID = customers[4].ID, Description = "Shirt", Price = 49.99M, Quantity = 1},
new Order() { CustomerID = customers[4].ID, Description = "Scarf", Price = 23.69M, Quantity = 1},
new Order() { CustomerID = customers[4].ID, Description = "Car", Price = 24200.15M, Quantity = 1},
new Order() { CustomerID = customers[5].ID, Description = "Scarf", Price = 23.69M, Quantity = 1},
new Order() { CustomerID = customers[5].ID, Description = "Car", Price = 24200.15M, Quantity = 1},
new Order() { CustomerID = customers[5].ID, Description = "Computer", Price = 650.00M, Quantity = 1},
new Order() { CustomerID = customers[6].ID, Description = "Car", Price = 24200.15M, Quantity = 1},
new Order() { CustomerID = customers[6].ID, Description = "Computer", Price = 650.00M, Quantity = 1},
new Order() { CustomerID = customers[6].ID, Description = "Shoes", Price = 150.23M, Quantity = 1},
new Order() { CustomerID = customers[7].ID, Description = "Computer", Price = 650.00M, Quantity = 1},
new Order() { CustomerID = customers[7].ID, Description = "Jacket", Price = 230.14M, Quantity = 1},
new Order() { CustomerID = customers[7].ID, Description = "Pants", Price = 70.56M, Quantity = 1},
int totalorders = orders.Count();
Console.WriteLine("Total number of orders {0}\n", totalorders);
int less = orders.Count(s => s.Price < 500);
Console.WriteLine("Number of orders $500 or under: {0}\n", less);
int over = orders.Count(i => i.Price > 500);
Console.WriteLine("The total number of orders over $500: {0}\n", over);
decimal total = orders.Sum(i => i.Price);
Console.WriteLine("Total cost for all orders: {0}\n", total);
var MostExpensive3 = orders.Select(c => new { c.Description, c.Price }).OrderByDescending(p => p.Price).Distinct().Take(3);
Console.WriteLine("The 3 Most expensive products:");
foreach (var cost in MostExpensive3)
Console.WriteLine("{0} {1} ",cost.Description,cost.Price );
var LeastExpensive3 = orders.Select(c => new { c.Description, c.Price }).OrderBy(p => p.Price).Distinct().Take(3);
Console.WriteLine("The 3 least expensive products:");
foreach(var obj in LeastExpensive3)
Console.WriteLine("{0} {1}", obj.Description,obj.Price);
public Guid ID { get; set; }
public string FName { get; set; }
public string LName { get; set; }
public int Age { get; set; }
public override string ToString()
public Guid CustomerID { get; set; }
public string Description { get; set; }
public decimal Price { get; set; }
public int Quantity { get; set; }