Esempio n. 1
0
        internal void ClearDisplay()
        {
            if (lastMessage != null)
            {
                var clear = new ClearOutput()
                {
                    wait   = false,
                    stedrr = true,
                    stdout = true,
                    other  = true
                };

                sendMessage(ioSocket, lastMessage, "clear_output", clear);
            }
        }
Esempio n. 2
0
 void OnClearOutput() => ClearOutput.Invoke(this, null);
 private void OnClearOutput(ClearOutput msg)
 {
     Console.Clear();
 }
Esempio n. 4
0
        private static void BranchMenu(
            TextReader reader,
            TextWriter writer,
            ClearOutput clearOut,
            InteractiveIO io,
            IStudentStore students
            )
        {
            clearOut();

            writer.WriteLine("Total students: {0}\n", students.Length);

            writer.WriteLine("Which task would you like to execute?");
            writer.WriteLine("{0}) Add a new student", (int)MenuChoice.AddStudent);
            writer.WriteLine("{0}) Read students from file", (int)MenuChoice.ReadStudentsFile);
            writer.WriteLine("{0}) Print results of students", (int)MenuChoice.PrintResults);
            writer.WriteLine("{0}) Benchmark", (int)MenuChoice.Benchmark);
            writer.WriteLine("{0}) Exit program\n", (int)MenuChoice.Exit);

            writer.Write("Menu choice: ");
#pragma warning disable IDE0018 // Inline variable declaration
            int menuChoice;
#pragma warning restore IDE0018 // Inline variable declaration
            if (!int.TryParse(reader.ReadLine(), out menuChoice))
            {
                writer.WriteLine("Error parsing the choice, please try again...");
                reader.Read();
            }
            else
            {
                switch (menuChoice)
                {
                case (int)MenuChoice.AddStudent: {
                    var student = ReadStudentInteractive(io);
                    students.Add(student);
                    break;
                }

                case (int)MenuChoice.ReadStudentsFile: {
                    var filename = io.ReadLineInteractive("File name: ");
                    AddStudentsFromFile(writer, filename, students);
                    writer.WriteLine("Press any key to continue.");
                    reader.Read();
                    break;
                }

                case (int)MenuChoice.PrintResults: {
                    var sortedStudents = students.All()
                                         .OrderBy(x => x.surname)
                                         .ThenBy(x => x.name);
                    StudentSummaryPrinter.PrintSummary(writer, sortedStudents);
                    reader.Read();
                    break;
                }

                case (int)MenuChoice.Benchmark: {
                    BenchmarkSuite(reader, writer);
                    reader.Read();
                    break;
                }

                case (int)MenuChoice.Exit: return;

                default:
                    writer.WriteLine("Wrong choice, please try again...");
                    reader.Read();
                    break;
                }
            }
            BranchMenu(reader, writer, clearOut, io, students);
        }