/* * Created by SharpDevelop. * User: allann * Date: 15-11-2004 * Time: 22:55 * */ using System; using System.Collections; namespace TouristicRental03 { /// /// Description of Shop. /// public class Shop { public Shop() { bicycles = new ArrayList(); rentals = new ArrayList(); random = new Random(); } public static void Main() { Shop shop = new Shop(); shop.Init(); shop.Open(); } private void Init() { bicycles.Add(new CityBike(1, 3.0, true)); bicycles.Add(new CityBike(2, 3.2, true)); bicycles.Add(new CityBike(11, 3.0, false)); bicycles.Add(new CityBike(12, 2.8, false)); bicycles.Add(new SportsBike(101, 6.0, 3)); bicycles.Add(new SportsBike(102, 6.5, 3)); bicycles.Add(new SportsBike(103, 7.0, 3)); bicycles.Add(new SportsBike(121, 6.2, 5)); bicycles.Add(new SportsBike(122, 6.2, 5)); bicycles.Add(new SportsBike(131, 6.8, 7)); } //rIdx: index for Rental //bIdx: index for Bicycle private double BikeBack(int rIdx, int bIdx) { int randHour = random.Next(2, 8); ((Bicycle) bicycles[bIdx]).IsRented = false; ((Rental) rentals[rIdx]).Hours = randHour; return ((Bicycle) bicycles[bIdx]).GetAmount(randHour); } private String ShowList(IList list) { String result = null; for(int i = 0; i < list.Count; i++) { result += list[i].ToString() + "\n"; } return result; } private void Open() { //4 rentals rentals.Add(new Rental("123", (Bicycle) bicycles[1])); ((Bicycle) bicycles[1]).IsRented = true; rentals.Add(new Rental("234", (Bicycle) bicycles[4])); ((Bicycle) bicycles[4]).IsRented = true; rentals.Add(new Rental("345", (Bicycle) bicycles[7])); ((Bicycle) bicycles[7]).IsRented = true; rentals.Add(new Rental("456", (Bicycle) bicycles[8])); ((Bicycle) bicycles[8]).IsRented = true; //bikes comes back amount = BikeBack(0, 1); sale += amount; Console.WriteLine("Cashed : " + amount); amount = BikeBack(1, 4); sale += amount; Console.WriteLine("Cashed : " + amount); amount = BikeBack(2, 7); sale += amount; Console.WriteLine("Cashed : " + amount); amount = BikeBack(3, 8); sale += amount; Console.WriteLine("Cashed : " + amount); ((Bicycle) bicycles[4]).IsRented = false; ((Bicycle) bicycles[7]).IsRented = false; ((Bicycle) bicycles[8]).IsRented = false; Console.WriteLine("Total sale : " + sale + "\n\n"); Console.WriteLine("Bikes \n" + ShowList(bicycles) +"\n\n"); Console.WriteLine("Rentals \n" + ShowList(rentals)); Close(); } public void Close() { Console.WriteLine("Tak for idag"); } private Random random; private double amount; private double sale; private IList rentals; private IList bicycles; } }