C# assignment

profileprof denchris
assignment_1_start_up_classes_1.zip

Customer.cs

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Original { class Customer { int discount = 1; String lastname, firstname; String accountNumber; public Customer(String firstname, String lastname, String accountNumber) { this.firstname = firstname; this.lastname = lastname; this.accountNumber = accountNumber; } } }

FedUniCruises.cs

using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Original { class FedUniCruises { Ship ship1; public FedUniCruises() { this.SetupShip(); } public void SetupShip() { ship1 = new Ship("Olympic Countess"); ArrayList groupA = new ArrayList(); for (int i = 0; i < 10; i++) { groupA.Add(new room(5000, "A" + (i + 1))); } ArrayList groupB = new ArrayList(); for (int i = 0; i < 10; i++) { groupB.Add(new room(4000, "B" + (i + 1))); } ArrayList groupC = new ArrayList(); for (int i = 0; i < 30; i++) { groupC.Add(new room(3500, "C" + (i + 1))); } ArrayList groupD = new ArrayList(); for (int i = 0; i < 36; i++) { groupD.Add(new room(3400, "D" + (i + 1))); } ArrayList groupE = new ArrayList(); for (int i = 0; i < 40; i++) { groupE.Add(new room(3300, "E" + (i + 1))); } ArrayList groupF = new ArrayList(); for (int i = 0; i < 30; i++) { groupF.Add(new room(3400, "F" + (i + 1))); } ArrayList groupG = new ArrayList(); for (int i = 0; i < 36; i++) { groupG.Add(new room(3300, "G" + (i + 1))); } ArrayList groupH = new ArrayList(); for (int i = 0; i < 40; i++) { groupH.Add(new room(3200, "H" + (i + 1))); } ship1.addDeck("Balcony Suite", groupA); ship1.addDeck("Suite", groupB); ship1.addDeck("Deck 3 - Outside Twin", groupC); ship1.addDeck("Deck 2 - Outside Twin", groupD); ship1.addDeck("Deck 1 - Outside Twin", groupE); ship1.addDeck("Deck 3 - Inside Twin", groupF); ship1.addDeck("Deck 2 - Inside Twin", groupG); ship1.addDeck("Deck 1 - Inside Twin", groupH); } public Reservation BookPassage(String cabinclass, Customer booker, int number) { ArrayList cabins; if (cabinclass.ToLower().Equals("a")) cabins = ship1.GetDeck("Balcony Suite"); else if (cabinclass.ToLower().Equals("b")) cabins = ship1.GetDeck("Suite"); else if (cabinclass.ToLower().Equals("c")) cabins = ship1.GetDeck("Deck 3 - Outside Twin"); else if (cabinclass.ToLower().Equals("d")) cabins = ship1.GetDeck("Deck 2 - Outside Twin"); else if (cabinclass.ToLower().Equals("e")) cabins = ship1.GetDeck("Deck 1 - Outside Twin"); else if (cabinclass.ToLower().Equals("f")) cabins = ship1.GetDeck("Deck 3 - Inside Twin"); else if (cabinclass.ToLower().Equals("g")) cabins = ship1.GetDeck("Deck 2 - Inside Twin"); else cabins = ship1.GetDeck("Deck 1 - Inside Twin"); if (Available(cabins, number)) { ArrayList bookedcabins = new ArrayList(); int currentCabin = 0; int cost = 0; while (number > 0) { room thisCabin = (room)cabins[currentCabin]; if (!thisCabin.booked) { bookedcabins.Add(thisCabin); cost += thisCabin.fare; number--; } currentCabin++; } return new Reservation(booker, cost, bookedcabins); } else return new Reservation(booker, false); } public Boolean Available(ArrayList cabins, int number) { int freeCount = 0; for (int i = 0; i < cabins.Count; i++) { if (!((room)cabins[i]).booked) freeCount++; } return number <= freeCount; } static void Main(string[] args) { FedUniCruises bookings = new FedUniCruises(); Customer jd = new Customer("Johnny", "Depp", "A100356"); Reservation booking = bookings.BookPassage("C", jd, 2); Console.WriteLine ("Johnny's booking costs = " + booking.cost); Console.Write ("Cabins booked are: "); ArrayList cabins = booking.cabins; for(int i = 0; i < cabins.Count; i++) { Console.Write (((room)cabins[i]).number + "\t"); } Console.ReadLine(); } } }

Reservation.cs

using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Original { class Reservation { Customer booker; Boolean confirmed = true; public int cost; public ArrayList cabins = new ArrayList(); public Reservation(Customer booker, Boolean confirmed) { this.booker = booker; this.confirmed = confirmed; } public Reservation(Customer booker, int cost, ArrayList cabins) { this.booker = booker; this.cost = cost; this.cabins = cabins; } public Reservation(Customer booker, int cost, room theCabin) { this.booker = booker; this.cost = cost; cabins.Add(theCabin); } } }

room.cs

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Original { class room { public int fare; public String number; public Boolean booked = false; public room(int fare, String number) { this.fare = fare; this.number = number; } } }

Ship.cs

using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Original { class Ship { Dictionary<String, ArrayList> cabins = new Dictionary<String, ArrayList>(); String name; public Ship(String name) { this.name = name; } public void addDeck(String deckName, ArrayList cabins) { this.cabins.Add(deckName, cabins); } public ArrayList GetDeck(String deckName) { return (ArrayList)cabins[deckName]; } } }