internal BoatListItem NewBoatInput(int boatID) { //System.Console.Clear(); int length; int MemberID; string boatType = "Other"; Console.Write("Enter member ID (from the list):"); MemberID = Int32.Parse(Console.ReadLine()); Console.WriteLine("Enter boatType (1-4)"); Console.WriteLine("1 for Sailboat"); Console.WriteLine("2 for Motorsailer"); Console.WriteLine("3 for Kayak/Canoe"); Console.WriteLine("4 for Other"); int input; do { input=Int32.Parse(Console.ReadLine()); } while (input>4 && input<1); switch(input) { case 1: boatType = "Sailboat"; break; case 2: boatType = "Motorsailer"; break; case 3: boatType = "KayakCanoe"; break; case 4: boatType = "Other"; break; } Boat.BoatType type = (Boat.BoatType)Enum.Parse(typeof(Boat.BoatType), boatType); Console.Write("Enter boat length:"); length = Int32.Parse(Console.ReadLine()); Boat newBoat = new Boat(type, length); return new BoatListItem(MemberID, boatID + 1, newBoat); }
// Delete the specified boat from the member's boatlist public void DeleteBoat(Boat boatToDelete) { _boats.Remove(boatToDelete); }
public BoatListItem(int memberID, int boatID, Boat boat) { BoatID = boatID; MemberID = memberID; Boat = boat; }
// Add boat to the member's boatlist, can have similar boat type and size public void AddBoat(Boat boatToRegister) { _boats.Add(boatToRegister); }
private void Load() { try { // Creates a list that can contain references to member object. List<Member> members = new List<Member>(); Member member = null; Boat boat = null; using (StreamReader reader = new StreamReader(_path)) { string line; while ((line = reader.ReadLine()) != null) { if (line != "") { // Divide the line into parts. string[] values = line.Split(';'); // If there is a section for new member. (status,memberid,name,personalnumber) if (values[0] == _sectionMember) { int memberId = int.Parse(values[1]); string name = values[2]; string personalNumber = values[3]; member = new Member(memberId, name, personalNumber); members.Add(member); } // If there is a section for boat. (status,type,length,registrationdate) else if (values[0] == _sectionBoat) { Boat.BoatType type; Enum.TryParse(values[1], out type); double length = double.Parse(values[2]); DateTime registrationDate = DateTime.Parse(values[3]); boat = new Boat(type, length, registrationDate); member.AddBoat(boat); } else { throw new FileLoadException(); } } } } _members = members.OrderBy(r => r.MemberId).ToList(); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public void DeleteBoat(Boat boat) { if (!m_boats.Contains(boat)) { throw new ArgumentException("That boat doesn't exist"); } else { m_boats.Remove(boat); } }
public void UpdateBoat(double length, BoatCategory category, int id) { Boat boatToRegister = new Boat(length, category, id); foreach (Boat boat in m_boats) { if (boat.BoatId == boatToRegister.BoatId) { throw new InvalidOperationException("Boat is already registered"); } } m_boats.Add(boatToRegister); }
public void RegisterBoat(double length, BoatCategory category) { Random random = new Random(); int boatId = random.Next(0, 100); //Make sure member ID is unique while (true) { foreach (Boat boat in m_boats) { if (boat.BoatId == boatId) { continue; } } break; } Boat boatToRegister = new Boat(length, category, boatId); m_boats.Add(boatToRegister); }