コード例 #1
0
        // 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);
        }