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