static void Main(string[] args) { var output = new OutputConsole(); MobilePhone myPhone = new MobilePhone(output); Console.WriteLine(myPhone.GetFullDescription()); Run(ref myPhone); }
public static void Run(ref MobilePhone myPhone) { while (true) { Console.WriteLine("Select option to do(specify index)"); Console.WriteLine("1: Attach component"); Console.WriteLine("2: Detach component"); Console.WriteLine("3: Show full mobile description"); Console.WriteLine("4: Play component"); Console.WriteLine("5: List of devices attached"); Console.WriteLine("6: Device info"); Console.WriteLine("q: For exit"); try { var input = Console.ReadKey().KeyChar.ToString(); if (input == "q") { break; } var choosOperation = int.Parse(input); Console.WriteLine("\n"); switch (choosOperation) { case 1: Attach(ref myPhone); break; case 2: Console.WriteLine("Select component to dettach(specify index)"); myPhone.DeviceList(); var deviceNumber = int.Parse((Console.ReadKey().KeyChar.ToString())); myPhone.DettachDevice(deviceNumber); break; case 3: Console.WriteLine(myPhone.GetFullDescription()); break; case 4: Console.WriteLine("Select component to dettach(specify index)"); myPhone.DeviceList(); var devicePlayNumber = int.Parse((Console.ReadKey().KeyChar.ToString())); myPhone.Play(devicePlayNumber); break; case 5: myPhone.DeviceList(); break; case 6: Console.WriteLine("Select component to dettach(specify index)"); myPhone.DeviceList(); var deviceInfoNumber = int.Parse((Console.ReadKey().KeyChar.ToString())); myPhone.DeviceInfo(deviceInfoNumber); break; } } catch (Exception e) { Console.WriteLine(e.ToString()); } } }