Пример #1
0
        private static void Menu1(ResultChecker rc)
        {
            Console.WriteLine("Введите путь.");
            var path = Console.ReadLine();

            //var path = Environment.GetEnvironmentVariable("TEMP") + @"\tempfile.dat";
            try
            {
                if (rc.ListOfResults.GetEnumerator().Any())
                {
                    Console.WriteLine("Текущие результаты будут потеряны. Продолжить? y/n");
                    while (true)
                    {
                        var readKey = Console.ReadKey().KeyChar;
                        if (readKey == 'n')
                        {
                            return;
                        }

                        if (readKey == 'y')
                        {
                            break;
                        }
                    }
                }
                rc.GetResultsFromFile(path);
            }
            catch (Exception)
            {
                Console.WriteLine("Что-то пошло не так, попробуйте снова!");
            }
        }
Пример #2
0
        private static int Menu34(ResultChecker rc)
        {
            if (rc == null)
            {
                return(0);
            }
            int temp;

            while (true)
            {
                Console.WriteLine("\n Введите необходимое количество строк для вывода и нажмите Enter. Для возврата достаточно ничего не вводить.");
                var temp2 = Console.ReadLine();
                if (int.TryParse(temp2, out temp))
                {
                    break;
                }

                Console.WriteLine("Введите число и попробуйте ещё раз!");
            }
            return(temp);
        }
Пример #3
0
        private static bool Menu3(ResultChecker rc)
        {
            Console.WriteLine("\nУстановите необходимые параметры для фильтра и нажмите enter.");
            ConsoleKey key = ConsoleKey.NoName;

            while (key != ConsoleKey.D0)
            {
                Console.WriteLine($"\n1 - Способ сортировки, текущий - {rc.KindOfSortString}" +
                                  $"\n2 - Направление сортировки, текущее - {rc.DirectionOfSortString}" +
                                  $"\n3 - Результат должен содержать {rc.Contains}" +
                                  $"\n4 - Строчек для отображения - {rc.CountOfVisibleRowsString}" +
                                  "\n5 - Сбросить фильтры" +
                                  "\n0 - Вернуться в главное меню");
                key = Console.ReadKey(true).Key;
                switch (key)
                {
                case ConsoleKey.D1:
                {
                    rc.SetKindOfSort(Menu31());
                    break;
                }

                case ConsoleKey.D2:
                {
                    rc.SetDirectionOfSort(Menu32());
                    break;
                }

                case ConsoleKey.D3:
                {
                    rc.SetContains(Menu33());
                    break;
                }

                case ConsoleKey.D4:
                {
                    rc.SetCountOfVisibleRows(Menu34(rc));
                    break;
                }

                case ConsoleKey.D5:
                {
                    rc.ResetFilters();
                    Console.WriteLine("\nФильтры сброшены!");
                    break;
                }

                case ConsoleKey.Enter:
                {
                    return(true);
                }

                case ConsoleKey.D0:
                {
                    break;
                }

                default:
                {
                    Console.WriteLine("Неверный пункт меню!\n");
                    continue;
                }
                }
            }
            return(false);
        }
Пример #4
0
        static void Main()
        {
            ResultChecker rc = new ResultChecker();

            //тестовые данные
            //var testpath = Environment.GetEnvironmentVariable("TEMP") + "tempfile.dat";
            //rc.ListOfResults.Add(new TestResult("Vasilii Pupkin", "Test na str", DateTime.Parse("06.11.2019 0:00:00"), 55));
            //rc.ListOfResults.Add(new TestResult("RazRaz", "Test na per", DateTime.Parse("22.10.2019 0:00:00"), 66));
            //rc.ListOfResults.Add(new TestResult("Dva Dva Dva", "Test na end", DateTime.Parse("06.08.2019 0:00:00"), 77));
            //rc.ListOfResults.Add(new TestResult("Tri", "Test na cha", DateTime.Parse("06.11.2014 0:00:00"), 88));
            //rc.ListOfResults.Add(new TestResult("Vaqvaqvaq", "Test na int", DateTime.Parse("01.01.0001 0:00:00"), 99));
            //rc.ListOfResults.Add(new TestResult("Quack", "Test na agi", DateTime.Parse("31.12.9999 23:59:59"), 111));
            //rc.ListOfResults.Add(new TestResult("qqqqqq", "Test na luck", DateTime.Parse("06.11.2019 19:12:39"), 0));

            Console.WriteLine("Добро пожаловать в программу просмотра результатов теста.");
            ConsoleKey key = ConsoleKey.NoName;

            while (key != ConsoleKey.D0)
            {
                Console.WriteLine("\nВыберите пункт меню вводом соответствующей цифры:" +
                                  "\n1 - Прочитать данные из файла" +
                                  "\n2 - Отобразить текущий список" +
                                  "\n3 - Отобразить текущий список, используя фильтры" +
                                  "\n4 - Поиск" +
                                  "\n0 - Выход");
                key = Console.ReadKey(true).Key;
                switch (key)
                {
                case ConsoleKey.D1:
                {
                    Menu1(rc);
                    break;
                }

                case ConsoleKey.D2:
                {
                    Console.WriteLine();
                    if (rc.ListOfResults != null)
                    {
                        foreach (var item in rc.ListOfResults.GetEnumerator())
                        {
                            Console.WriteLine(item.ToString());
                        }
                    }
                    break;
                }

                case ConsoleKey.D3:
                {
                    if (rc.ListOfResults != null)
                    {
                        if (Menu3(rc))
                        {
                            Console.WriteLine();
                            foreach (var item in rc.GetEnumeratorByDirectionOfSort().Where(x => x.ToString().Contains(rc.Contains)).Take(rc.CountOfVisibleRows))
                            {
                                Console.WriteLine(item.ToString());
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine("Сперва получите результаты из файла!");
                    }
                    break;
                }

                case ConsoleKey.D4:
                {
                    Console.WriteLine("\nВведите текст для поиска и нажмите Enter.");
                    var temp = Console.ReadLine();
                    foreach (var item in rc.GetEnumeratorByDirectionOfSort().Where(x => x.ToString().Contains(temp ?? throw new InvalidOperationException())))
                    {
                        Console.WriteLine(item.ToString());
                    }
                    break;
                }

                case ConsoleKey.D9:     //используется для ручных проверок IO системы
                {
                    if (rc.ListOfResults != null)
                    {
                        var path = Environment.GetEnvironmentVariable("TEMP") + @"\tempfile.dat";
                        rc.SaveResultsToFile(path);
                    }
                    break;
                }

                case ConsoleKey.D0:
                {
                    break;
                }

                default:
                {
                    Console.WriteLine("Неверный пункт меню!\n");
                    continue;
                }
                }
            }
        }