Пример #1
0
        private void print_data_in_a_column(List <GameScore> lists, Sorting_type sorting_Type)
        {
            switch (sorting_Type)
            {
            case Sorting_type.order_by_date_descending:
                lists = lists.OrderByDescending(x => x.date_of_the_play).ToList();
                break;

            case Sorting_type.order_by_date_ascending:
                lists = lists.OrderBy(x => x.date_of_the_play).ToList();
                break;

            case Sorting_type.order_by_score_descending:
                lists = lists.OrderByDescending(x => x.Score).ToList();
                break;

            case Sorting_type.order_by_score_ascending:
                lists = lists.OrderBy(x => x.Score).ToList();
                break;
            }

            int number_of_plays = lists.Count < 15 ? lists.Count : 15;

            for (int y = 0, index = 0; index < number_of_plays; y++, index++)
            {
                if (lists[index].Score == 0)
                {
                    number_of_plays = number_of_plays < lists.Count ? number_of_plays + 1 : number_of_plays;
                    y--;
                    continue;
                }
                Console.SetCursorPosition(24, 5 + y);
                var d_i = lists[index].date_of_the_play;

                Console.Write($"{d_i.Day}/{d_i.Month}/{d_i.Year}  {d_i.Hour}:{d_i.Minute}");

                Console.SetCursorPosition(55, 5 + y);
                Console.Write(lists[index].Score);
            }
        }
Пример #2
0
        public void Build_window()
        {
            data = database.get_all_the_plays();
            Paint_the_window();
            word_Creator.print_word(Word_positions[0].X, Word_positions[0].Y, Word_variants[0], ConsoleColor.Red);


            print_data_in_a_column(data, sorting_Type);

            int current_chose     = 0;
            int previous_position = 0;

            while (true)
            {
                var  key           = Console.ReadKey(true);
                bool change_option = false;

                if (key.Key == ConsoleKey.Enter)
                {
                    Console.Clear();

                    if (current_chose == 2)
                    {
                        return;
                    }

                    if (current_chose == 1)
                    {
                        sorting_Type = sorting_Type == Sorting_type.order_by_score_ascending ?
                                       Sorting_type.order_by_score_descending :
                                       Sorting_type.order_by_score_ascending;
                    }

                    if (current_chose == 0)
                    {
                        sorting_Type = sorting_Type == Sorting_type.order_by_date_ascending ?
                                       Sorting_type.order_by_date_descending :
                                       Sorting_type.order_by_date_ascending;
                    }


                    Paint_the_window();

                    word_Creator.print_word(Word_positions[current_chose].X,
                                            Word_positions[current_chose].Y,
                                            Word_variants[current_chose],
                                            ConsoleColor.Red);

                    print_data_in_a_column(data, sorting_Type);
                }

                if (key.Key == ConsoleKey.UpArrow)
                {
                    change_option     = true;
                    previous_position = current_chose;
                    current_chose     = current_chose == 2 ? 1 : 2;
                }

                if (key.Key == ConsoleKey.DownArrow)
                {
                    change_option     = true;
                    previous_position = current_chose;
                    current_chose     = current_chose == 1 || current_chose == 0 ? 2 : 1;
                }

                if (key.Key == ConsoleKey.LeftArrow || key.Key == ConsoleKey.RightArrow)
                {
                    change_option     = true;
                    previous_position = current_chose;
                    current_chose     = current_chose == 1 ? 0 : 1;
                }


                if (change_option)
                {
                    word_Creator.print_word(Word_positions[current_chose].X,
                                            Word_positions[current_chose].Y,
                                            Word_variants[current_chose], ConsoleColor.Red);

                    word_Creator.print_word(Word_positions[previous_position].X,
                                            Word_positions[previous_position].Y,
                                            Word_variants[previous_position]);
                }
            }
        }