// Create a new Developer from user input private Developer CreateNewDeveloper() { // Setup Console.Clear(); var newDeveloper = new Developer(); // First name Console.WriteLine("Enter the developer's first name:"); newDeveloper.FirstName = Console.ReadLine(); // Last name Console.WriteLine("Enter the developer's last name:"); newDeveloper.LastName = Console.ReadLine(); // Employee ID EnterID: Console.WriteLine("Enter the developer's unique ID number:"); bool parsed = int.TryParse(Console.ReadLine(), out int devID); if (parsed) { foreach (var developer in _developerRepo.GetAllDevelopers()) { if (developer.EmployeeIDNumber == devID) { Console.WriteLine("This developer ID number is already in use. Please enter a unique ID."); goto EnterID; } } newDeveloper.EmployeeIDNumber = devID; } else { PressEnter(); goto EnterID; } // Has PluralSight license? HasAccess: Console.WriteLine($"Does {newDeveloper.FirstName} {newDeveloper.LastName} have access to PluralSight (y/n)?"); string access = Console.ReadLine().ToLower(); if (access == "y") { newDeveloper.HasPluralsightAccess = true; } else if (access == "n") { newDeveloper.HasPluralsightAccess = false; } else { PressEnter(); goto HasAccess; } _developerRepo.AddNewDeveloper(newDeveloper); return(newDeveloper); }