示例#1
0
        /// <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, "Таблица посёлков", "Таблица домов", "Таблица девелоперов");
        }
示例#2
0
        /// <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, "Таблица посёлков", "Таблица домов", "Таблица девелоперов");
        }
示例#3
0
        /// <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, "Таблица посёлков", "Таблица домов", "Таблица девелоперов");
        }
示例#4
0
        /// <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;
                }
            }
        }
示例#5
0
        /// <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, "Таблица посёлков", "Таблица домов", "Таблица девелоперов");
        }