Beispiel #1
0
        Session PrepareSession(ISessionWriter sessionManager, ISystemInfo systemInfo, out bool isNewSession)
        {
            var sessions = sessionManager.GetOpenSessions();

            Session session = null;

            isNewSession = false;
            if (sessions.Count > 0)
            {
                Console.WriteLine("Choose session to resume: ");
                for (int i = 0; i < sessions.Count; i++)
                {
                    Console.WriteLine($"{i + 1}: {sessions[i].Student}, {sessions[i].StartDt.ToLocalTime()}");
                }
                Console.WriteLine($"{sessions.Count + 1}: Start new session");
                var choice = InputChoice("Your choice: ", sessions.Count + 1);
                if (choice <= sessions.Count)
                {
                    session = sessions[choice - 1];
                    sessionManager.ResumeSession(session);
                }
            }

            if (session == null)
            {
                session = StartNewSession(systemInfo);
                sessionManager.CreateNewSession(session);
                isNewSession = true;
            }
            return(session);
        }