private void Write_Page(int index, List <Developer> developers) { Console.Clear(); Console.WriteLine("╔═════╦═══════════════════════╤═══════════════╤══════════════════════════════════╗"); Console.WriteLine("║ № ║ Девелопер │ Годовой доход │ Адрес девелопера ║"); Console.WriteLine("╠═════╬═══════════════════════╪═══════════════╪══════════════════════════════════╣"); for (byte i = 0; i < 10; i++, index++) { if (index < developers.Count()) { Console.WriteLine("║ ║ │ │ ║"); Console.Write("╟─────╫───────────────────────┼───────────────┼──────────────────────────────────╢"); Console.SetCursorPosition(2, Console.CursorTop - 1); Console.Write(index + 1); Console.SetCursorPosition(8, Console.CursorTop); Console.Write(developers[index].name); Console.SetCursorPosition(32, Console.CursorTop); Console.Write(developers[index].inc); Console.SetCursorPosition(48, Console.CursorTop); Console.WriteLine(developers[index].addr); Console.SetCursorPosition(0, Console.CursorTop + 1); } } Console.SetCursorPosition(0, Console.CursorTop - 1); Console.WriteLine("╚═════╩═══════════════════════╧═══════════════╧══════════════════════════════════╝"); Frames frame = new Frames(); int lastPage; lastPage = developers.Count() % 10 == 0 ? (developers.Count() / 10) : (developers.Count() / 10 + 1); int x = Console.CursorLeft, y = Console.CursorTop; frame.Menu(x, y, 20, "Стр. " + index / 10 + " из " + lastPage); }
/// <summary> /// Выводит таблицу с данными о домах /// </summary> public void WriteHouse() { BinFile file = new BinFile(); //List<House> houses = new List<House>(); file.Load_DataBase(); Frames frame = new Frames(); if (BinFile.houses.Count() == 0) { Console.Clear(); frame.Menu(35, 6, 12, "Файл пуст!"); Console.ReadKey(true); } else { Input inp = new Input(); ConsoleKey?key = ConsoleKey.RightArrow; int index = -10; while (key != ConsoleKey.Escape) { if ((key == ConsoleKey.LeftArrow) && (index != 0)) { index -= 10; Write_Page(index, BinFile.houses); } else if ((key == ConsoleKey.RightArrow) && (index + 10 < BinFile.houses.Count)) { index += 10; Write_Page(index, BinFile.houses); } else if (key == ConsoleKey.Enter) { Choice(ref BinFile.houses, index, 7, 32, 56, 72); } key = inp.InputKey(ConsoleKey.LeftArrow, ConsoleKey.RightArrow, ConsoleKey.Enter, ConsoleKey.Escape); } } if (frame.Call_MassageBox(30, 6, "Сохранить изменения?")) { file.SaveAll(); } Console.Clear(); frame.Menu(30, 3, 18, "Таблица посёлков", "Таблица домов", "Таблица девелоперов"); }
/// <summary> /// Выводит таблицу, внутри которой считывает данные о домах /// </summary> public void ReadHouse() { BinFile file = new BinFile(); file.Load_DataBase(); Input inp = new Input(); Frames frame = new Frames(); List <House> _houses = new List <House>(); bool canСontinue = true; Console.Clear(); Console.WriteLine("╔════════════════════════╤════════════╤═══════════════╤═══════════════╤══════════════════════╗"); Console.WriteLine("║ Назвение посёлка │ Номер дома │ Площадь в м^2 │ Кол-во этажей │ Тип дома ║"); Console.WriteLine("╠════════════════════════╪════════════╪═══════════════╪═══════════════╪══════════════════════╣"); Console.WriteLine("║ │ │ │ │ ║"); Console.Write("╚════════════════════════╧════════════╧═══════════════╧═══════════════╧══════════════════════╝"); while (canСontinue) { House house = new House("", 0, 0, 0, ""); Console.SetCursorPosition(2, Console.CursorTop - 1); Console.CursorVisible = true; if (inp.ReadValid(ref house.name, 22)) { Console.SetCursorPosition(27, Console.CursorTop); inp.ReadValid(ref house.num, 10); Console.SetCursorPosition(40, Console.CursorTop); inp.ReadValid(ref house.area, 13); Console.SetCursorPosition(56, Console.CursorTop); inp.ReadValid(ref house.floor, 13); Console.SetCursorPosition(72, Console.CursorTop); inp.ReadValid(ref house.type, 20); Console.CursorVisible = false; Console.SetCursorPosition(0, Console.CursorTop + 1); Console.WriteLine("╟────────────────────────┼────────────┼───────────────┼───────────────┼──────────────────────╢"); Console.WriteLine("║ │ │ │ │ ║"); Console.Write("╚════════════════════════╧════════════╧═══════════════╧═══════════════╧══════════════════════╝"); _houses.Add(house); } else { canСontinue = false; if (frame.Call_MassageBox(30, 10, "Cозранить изменения?")) { file.SaveInFile(_houses, FileMode.Append); } } } Console.Clear(); frame.Menu(30, 3, 18, "Таблица посёлков", "Таблица домов", "Таблица девелоперов"); }
/// <summary> /// Выводит таблицу, внутри которой считывает данные о девелоперах /// </summary> public void ReadDeveloper() { BinFile file = new BinFile(); file.Load_DataBase(); Input inp = new Input(); Frames frame = new Frames(); List <Developer> _developers = new List <Developer>(); bool canСontinue = true; Console.Clear(); Console.WriteLine("╔═══════════════════════╤═══════════════╤══════════════════════════════════╗"); Console.WriteLine("║ Девелопер │ Годовой доход │ Адрес девелопера ║"); Console.WriteLine("╠═══════════════════════╪═══════════════╪══════════════════════════════════╣"); Console.WriteLine("║ │ │ ║"); Console.Write("╚═══════════════════════╧═══════════════╧══════════════════════════════════╝"); while (canСontinue) { Developer dev = new Developer("", 0, ""); Console.SetCursorPosition(2, Console.CursorTop - 1); Console.CursorVisible = true; if (inp.ReadValid(ref dev.name, 21)) { Console.SetCursorPosition(26, Console.CursorTop); inp.ReadValid(ref dev.inc, 13); Console.SetCursorPosition(42, Console.CursorTop); inp.ReadValid(ref dev.addr, 32); Console.CursorVisible = false; Console.SetCursorPosition(0, Console.CursorTop + 1); Console.WriteLine("╟───────────────────────┼───────────────┼──────────────────────────────────╢"); Console.WriteLine("║ │ │ ║"); Console.Write("╚═══════════════════════╧═══════════════╧══════════════════════════════════╝"); _developers.Add(dev); } else { canСontinue = false; if (frame.Call_MassageBox(30, 10, "Cозранить изменения?")) { file.SaveInFile(_developers, FileMode.Append); } } } Console.Clear(); frame.Menu(30, 3, 18, "Таблица посёлков", "Таблица домов", "Таблица девелоперов"); }
private void Write_Page(int index, List <House> houses) { Console.Clear(); Console.WriteLine("╔═════╦════════════════════╤════════════╤═══════════════╤═══════════════╤════════════════╗"); Console.WriteLine("║ № ║ Назвение посёлка │ Номер дома │ Площадь в м^2 │ Кол-во этажей │ Тип дома ║"); Console.WriteLine("╠═════╬════════════════════╪════════════╪═══════════════╪═══════════════╪════════════════╣"); for (byte i = 0; i < 10; i++, index++) { if (index < houses.Count()) { Console.WriteLine("║ ║ │ │ │ │ ║"); Console.Write("╟─────╫────────────────────┼────────────┼───────────────┼───────────────┼────────────────╢"); Console.SetCursorPosition(2, Console.CursorTop - 1); Console.Write(index + 1); Console.SetCursorPosition(8, Console.CursorTop); Console.Write(houses[index].name); Console.SetCursorPosition(29, Console.CursorTop); Console.Write(houses[index].num); Console.SetCursorPosition(42, Console.CursorTop); Console.Write(houses[index].area); Console.SetCursorPosition(58, Console.CursorTop); Console.Write(houses[index].floor); Console.SetCursorPosition(74, Console.CursorTop); Console.WriteLine(houses[index].type); Console.SetCursorPosition(0, Console.CursorTop + 1); } } Console.SetCursorPosition(0, Console.CursorTop - 1); Console.WriteLine("╚═════╩════════════════════╧════════════╧═══════════════╧═══════════════╧════════════════╝"); Frames frame = new Frames(); int lastPage; lastPage = houses.Count() % 10 == 0 ? (houses.Count() / 10) : (houses.Count() / 10 + 1); int x = Console.CursorLeft, y = Console.CursorTop; frame.Menu(x, y, 20, "Стр. " + index / 10 + " из " + lastPage); }
private void Write_Page(int index, List <Village> villages) { Console.Clear(); Console.WriteLine("╔═════╦════════════════════════╤═══════════════════════╤═══════════════╤═══════════╗"); Console.WriteLine("║ № ║ Назвение посёлка │ Девелопер │ Площадь в м^2 │ Население ║"); Console.WriteLine("╠═════╬════════════════════════╪═══════════════════════╪═══════════════╪═══════════╣"); for (byte i = 0; i < 10; i++, index++) { if (index < villages.Count()) { Console.WriteLine("║ ║ │ │ │ ║"); Console.Write("╟─────╫────────────────────────┼───────────────────────┼───────────────┼───────────╢"); Console.SetCursorPosition(2, Console.CursorTop - 1); Console.Write(index + 1); Console.SetCursorPosition(8, Console.CursorTop); Console.Write(villages[index].name); Console.SetCursorPosition(33, Console.CursorTop); Console.Write(villages[index].dev); Console.SetCursorPosition(57, Console.CursorTop); Console.Write(villages[index].area); Console.SetCursorPosition(73, Console.CursorTop); Console.WriteLine(villages[index].people); Console.SetCursorPosition(0, Console.CursorTop + 1); } } Console.SetCursorPosition(0, Console.CursorTop - 1); Console.WriteLine("╚═════╩════════════════════════╧═══════════════════════╧═══════════════╧═══════════╝"); Frames frame = new Frames(); int lastPage; lastPage = villages.Count() % 10 == 0 ? (villages.Count() / 10) : (villages.Count() / 10 + 1); int x = Console.CursorLeft, y = Console.CursorTop; frame.Menu(x, y, 20, "Стр. " + index / 10 + " из " + lastPage); }
/// <summary> /// Выводит таблицу, внутри которой считывает данные о посёлке /// </summary> public void ReadVellage() { Console.Clear(); BinFile file = new BinFile(); file.Load_DataBase(); Frames frame = new Frames(); if (BinFile.developers.Count == 0) { Console.SetCursorPosition(14, 6); frame.Continuous(50, "Ошибка!", "Необходимо сначала заполнить таблицу девелоперов"); Console.ReadKey(true); } else { //file.Load_DataBase(); Input inp = new Input(); List <Village> _villages = new List <Village>(); bool canСontinue = true; Console.WriteLine("╔════════════════════════╤═══════════════════════╤═══════════════╤═══════════╗"); Console.WriteLine("║ Назвение посёлка │ Девелопер │ Площадь в м^2 │ Население ║"); Console.WriteLine("╠════════════════════════╪═══════════════════════╪═══════════════╪═══════════╣"); Console.WriteLine("║ │ │ │ ║"); Console.Write("╚════════════════════════╧═══════════════════════╧═══════════════╧═══════════╝"); while (canСontinue) { Village vill = new Village("", "", 0, 0); Console.SetCursorPosition(2, Console.CursorTop - 1); Console.CursorVisible = true; if (inp.ReadValid(ref vill.name, 22)) { Console.SetCursorPosition(27, Console.CursorTop); Console.CursorVisible = false; vill.dev = ChoiceDeveloper(Console.CursorTop); Console.CursorVisible = true; Console.SetCursorPosition(51, Console.CursorTop); inp.ReadValid(ref vill.area, 13); Console.SetCursorPosition(67, Console.CursorTop); inp.ReadValid(ref vill.people, 9); Console.CursorVisible = false; Console.SetCursorPosition(0, Console.CursorTop + 1); Console.WriteLine("╟────────────────────────┼───────────────────────┼───────────────┼───────────╢"); Console.WriteLine("║ │ │ │ ║"); Console.Write("╚════════════════════════╧═══════════════════════╧═══════════════╧═══════════╝"); _villages.Add(vill); } else { canСontinue = false; if (frame.Call_MassageBox(30, 10, "Cозранить изменения?")) { file.SaveInFile(_villages, FileMode.Append); } } } } Console.Clear(); frame.Menu(30, 3, 18, "Таблица посёлков", "Таблица домов", "Таблица девелоперов"); }
/// <summary> /// Выводит экранное меню /// </summary> public void MainMenu() { Console.CursorVisible = false; Frames frame = new Frames(); Input inp = new Input(); Tables table = new Tables(); //table.LoadAll(); ConsoleKey?mKey = null; int main_x = 30, main_y = 3; bool canСontinue = true; frame.Menu(30, 3, 30, "Ввод базы данных", "Вывод базы данных", "Выбор файла", "Выход из программы"); frame.Choice(main_x, main_y, col, 30); while (canСontinue) { mKey = inp.InputKey(ConsoleKey.DownArrow, ConsoleKey.UpArrow, ConsoleKey.Enter); if ((mKey == ConsoleKey.DownArrow) & (main_y != 12)) { frame.Choice(main_x, main_y, ConsoleColor.White, 30); main_y += 3; frame.Choice(main_x, main_y, col, 30); } else if ((mKey == ConsoleKey.UpArrow) & (main_y > 3)) { frame.Choice(main_x, main_y, ConsoleColor.White, 30); main_y -= 3; frame.Choice(main_x, main_y, col, 30); } else if (mKey == ConsoleKey.Enter) { ConsoleKey?sKey = null; int x = 30, y = 3; switch (main_y) { // Выбор файла для хранения данных case 9: Console.Clear(); frame.Menu(30, 3, 30, "Выброр существующего файла", "Создание нового файла", "Удаление файла"); ConsoleKey?key = null; y = 3; frame.Choice(30, y, ConsoleColor.Green, 30); while (key != ConsoleKey.Escape) { key = inp.InputKey(ConsoleKey.DownArrow, ConsoleKey.UpArrow, ConsoleKey.Enter, ConsoleKey.Escape); switch (key) { case ConsoleKey.DownArrow: if (y != 9) { frame.Choice(30, y, ConsoleColor.White, 30); y += 3; frame.Choice(30, y, ConsoleColor.Green, 30); } break; case ConsoleKey.UpArrow: if (y != 3) { frame.Choice(30, y, ConsoleColor.White, 30); y -= 3; frame.Choice(30, y, ConsoleColor.Green, 30); } break; case ConsoleKey.Enter: switch (y) { case 3: Console.Clear(); table.Write_FileList(); break; case 6: Console.Clear(); table.CreateFile(); break; case 9: Console.Clear(); table.Write_FileList(true); break; } Console.Clear(); frame.Menu(30, 3, 30, "Выброр существующего файла", "Создание нового файла", "Удаление файла"); frame.Choice(30, y, ConsoleColor.Green, 30); break; } } Console.Clear(); frame.Menu(30, 3, 30, "Ввод базы данных", "Вывод базы данных", "Выбор файла", "Выход из программы"); frame.Choice(main_x, main_y, col, 30); break; // Выход из программы case 12: canСontinue = false; break; default: Console.Clear(); frame.Menu(30, 3, 18, "Таблица посёлков", "Таблица домов", "Таблица девелоперов"); frame.Choice(x, y, col, 18); while (sKey != ConsoleKey.Escape) { sKey = inp.InputKey(ConsoleKey.DownArrow, ConsoleKey.UpArrow, ConsoleKey.Enter, ConsoleKey.Escape); switch (sKey) { case ConsoleKey.DownArrow: if (y != 9) { frame.Choice(x, y, ConsoleColor.White, 18); y += 3; frame.Choice(x, y, col, 18); } break; case ConsoleKey.UpArrow: if (y > 3) { frame.Choice(x, y, ConsoleColor.White, 18); y -= 3; frame.Choice(x, y, col, 18); } break; case ConsoleKey.Enter: try { switch (y) { case 3: if (main_y == 3) { table.ReadVellage(); } else if (main_y == 6) { table.WriteVillage(); } break; case 6: if (main_y == 3) { table.ReadHouse(); } else if (main_y == 6) { table.WriteHouse(); } break; case 9: if (main_y == 3) { table.ReadDeveloper(); } else if (main_y == 6) { table.WriteDeveloper(); } break; } } catch (Exception) { ConsoleKey back; //if(table.fileName == "") Console.Clear(); frame.Menu(30, 5, 31, "Ошибка! Имя файла не выбранно"); //frame.Menu(30, 5, 31, e); throw; back = inp.InputKey(ConsoleKey.Escape); if (back == ConsoleKey.Escape) { Console.Clear(); frame.Menu(30, 3, 18, "Таблица посёлков", "Таблица домов", "Таблица девелоперов"); } //else } //y = 0; frame.Choice(x, y, col, 18); break; case ConsoleKey.Escape: Console.Clear(); frame.Menu(30, 3, 30, "Ввод базы данных", "Вывод базы данных", "Выбор файла", "Выход из программы"); //main_y = 3; frame.Choice(main_x, main_y, col, 30); break; } } break; } } } }