/// <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 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 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, "Таблица посёлков", "Таблица домов", "Таблица девелоперов"); }
/// <summary> /// Выводит список существующих файлов /// </summary> public void Write_FileList(bool del = false) { BinFile file = new BinFile(); List <string> files = file.Load_FileList(); Console.SetCursorPosition(30, 3); Frames frame = new Frames(); Input inp = new Input(); frame.Continuous(30, "Выберете файл", files.ToArray()); int y = 5; int x = 30; int i = 0; ConsoleKey?key = null; frame.Choice(x, y, ConsoleColor.Green, 30); while ((key != ConsoleKey.Enter) && (key != ConsoleKey.Escape)) { key = inp.InputKey(ConsoleKey.DownArrow, ConsoleKey.UpArrow, ConsoleKey.Enter, ConsoleKey.Escape); switch (key) { case ConsoleKey.DownArrow: if ((y / 2) < files.Count + 1) { frame.ContinuousChoice(x, y, ConsoleColor.White, 30); y += 2; ++i; frame.Choice(x, y, ConsoleColor.Green, 30); if (y == 7) { Console.SetCursorPosition(x, 5); string line = new string('═', 30); Console.WriteLine($"╠{line}╣"); } } break; case ConsoleKey.UpArrow: if (y != 5) { frame.ContinuousChoice(x, y, ConsoleColor.White, 30); y -= 2; --i; frame.Choice(x, y, ConsoleColor.Green, 30); if ((y / 2) == files.Count) { Console.SetCursorPosition(x, (files.Count + 1) * 2 + 3); string line = new string('═', 30); Console.WriteLine($"╚{line}╝"); } } break; case ConsoleKey.Enter: if ((del) && (frame.Call_MassageBox(30, 3, "Удалить файл?"))) { File.Delete($"C:/C#/RunDll/XMLfiles/{files[i]}.xml"); } else { BinFile.fileName = files[i]; } break; } } }
/// <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, "Таблица посёлков", "Таблица домов", "Таблица девелоперов"); }