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); } }
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]); } } }