Exemplo n.º 1
0
        public int RunWorker()
        {
            try
            {
                Console.WriteLine($"**********Программа фильтрации списка авиа перелетов**********{Environment.NewLine}");

                Console.WriteLine($"Список авиа перелетов:{Environment.NewLine}");

                var flights = _flightBuilder.GetFlights();

                _filterHandler.Print(flights);

                Console.WriteLine($"Доступные фильтры для исключения из списка авиа перелетов:{Environment.NewLine}");

                foreach (var item in _filterBuilder.GetFilters())
                {
                    Console.WriteLine($"{item.Key} - {item.Value}");
                }

                Console.WriteLine();

                var input = string.Empty;

                do
                {
                    Console.WriteLine(@"Введите номер фильтрации или ""q"" для выхода из программы: ");
                    input = Console.ReadLine();

                    if (int.TryParse(input, out int key))
                    {
                        var filteredFlights = _filterHandler.GetFilteredValues(key, flights);

                        if (filteredFlights != null)
                        {
                            _filterHandler.Print(filteredFlights);
                        }
                    }
                } while (!input.Equals("q", StringComparison.OrdinalIgnoreCase));

                return(1);
            }
            catch (ArgumentNullException ax)
            {
                Console.WriteLine($"{ax.Message}");
                return(-1);
            }
            catch (Exception ex)
            {
                Console.WriteLine($"{ex.Message}");
                return(-1);
            }
        }