示例#1
0
        public void AddItem()
        {
            Journals journal   = ReadParameters();
            int      indexCopy = CheckCopy(journal);

            if (indexCopy == -1)
            {
                journals.Add(journal);
                journal.Code = count++;
                Console.WriteLine("Новая запись создана" + '\n');
            }
            else
            {
                if (CopyVerify())
                {
                    journals.Add(journal);
                    journal.Code = count++;
                    Console.WriteLine("Новая запись создана" + '\n');
                }
                else
                {
                    Console.WriteLine("Добавить количество к первой существующей записи? (-y/-n)");
                    if (YN_Verify())
                    {
                        ((Journals)journals[indexCopy]).Count += journal.Count;
                        Console.WriteLine("Количество успешно добавлено" + '\n');
                    }
                }
            }
        }
示例#2
0
        public override void ShowParameters(Base b)
        {
            base.ShowParameters(b);
            Journals journal = (Journals)b;

            Console.Write("Период     ");
            Console.WriteLine(journal.Period);
            Console.Write("Номер      ");
            Console.WriteLine(journal.SerialNumber);
            Console.WriteLine("---------------------------");
        }
示例#3
0
        public Journals ReadParameters()
        {
            Journals journal = new Journals();

            Console.Write("Введите название журнала: ");
            journal.Name = Console.ReadLine();
            Console.Write("Введите год издания журнала: ");
            journal.Year = IntInput();
            Console.Write("Введите издателя журнала: ");
            journal.Publisher = Console.ReadLine();;
            Console.Write("Введите количество журналов: ");
            journal.Count = IntInput();
            Console.Write("Введите периодичность журнала: ");
            journal.Period = Console.ReadLine();
            Console.Write("Введите номер журнала: ");
            journal.SerialNumber = IntInput();
            return(journal);
        }
示例#4
0
        public int CheckCopy(Journals j)
        {
            bool found     = false;
            int  i         = 0;
            int  copyIndex = -1;

            while (i < journals.Count && !found)
            {
                if (((Journals)journals[i]).Name == j.Name && ((Journals)journals[i]).Year == j.Year &&
                    ((Journals)journals[i]).Publisher == j.Publisher && ((Journals)journals[i]).Count == j.Count &&
                    ((Journals)journals[i]).Period == j.Period && ((Journals)journals[i]).SerialNumber == j.SerialNumber)
                {
                    found     = true;
                    copyIndex = ((Journals)journals[i]).Code;
                }
                i++;
            }
            return(copyIndex);
        }
示例#5
0
        public Journals ShowItem(string name)
        {
            ArrayList items = ShowItems(name);
            Journals  item  = null;
            int       code;

            switch (items.Count)
            {
            case 0:
                Console.WriteLine("Введенный журнал не найден");
                break;

            case 1:
                item = (Journals)items[0];
                break;

            default:
                Console.Write("Введите код нужного журнала: ");
                bool found = false;
                do
                {
                    code = IntInput();
                    for (int i = 0; i < items.Count && !found; i++)
                    {
                        if (((Journals)items[i]).Code == code)
                        {
                            found = true;
                            item  = (Journals)items[i];
                        }
                    }
                    if (found == false)
                    {
                        Console.WriteLine("Журнала с таким кодом нет в списке, повторите ввод");
                    }
                } while (found == false);
                ShowParameters(item);
                break;
            }
            return(item);
        }
示例#6
0
        public void DeleteItem(string name)
        {
            Journals journal = ShowItem(name);

            if (journal != null)
            {
                string str;
                Console.WriteLine("Вы уверены, что хотите удалить этот журнал? (-y/-n)");
                do
                {
                    str = Console.ReadLine();
                    if (str != "-y" && str != "-n")
                    {
                        Console.WriteLine("Введена неизвестная команда, повторите ввод");
                    }
                } while (str != "-y" && str != "-n");
                if (str == "-y")
                {
                    journals.Remove(journal);
                    Console.WriteLine("Журнал удален");
                }
            }
        }
示例#7
0
        public void ChangeItem(string name)
        {
            Journals journal = ShowItem(name);
            string   str     = "";

            if (journal != null)
            {
                bool away = false;
                do
                {
                    ShowCommandForParameters();
                    Console.WriteLine("-period -serial_number");
                    Console.WriteLine("Введите какой параметр вы хотите изменить: ");
                    str = Console.ReadLine();
                    switch (str)
                    {
                    case "-name":
                        Console.Write("Введите новое значение для параметра, после чего нажмите клавишу Enter: ");
                        journal.Name = Console.ReadLine();
                        break;

                    case "-year":
                        Console.Write("Введите новое значение для параметра, после чего нажмите клавишу Enter: ");
                        journal.Year = IntInput();
                        break;

                    case "-publisher":
                        Console.Write("Введите новое значение для параметра, после чего нажмите клавишу Enter: ");
                        journal.Publisher = Console.ReadLine();
                        break;

                    case "-count":
                        Console.Write("Введите новое значение для параметра, после чего нажмите клавишу Enter: ");
                        journal.Count = IntInput();
                        break;

                    case "-period":
                        Console.Write("Введите новое значение для параметра, после чего нажмите клавишу Enter: ");
                        journal.Period = Console.ReadLine();
                        break;

                    case "-serial_number":
                        Console.Write("Введите новое значение для параметра, после чего нажмите клавишу Enter: ");
                        journal.SerialNumber = IntInput();
                        break;

                    default:
                        Console.WriteLine("Введена неизвестная команда");
                        break;
                    }
                    do
                    {
                        Console.WriteLine("Завершить изменения (-y/-n) ? ");
                        str = Console.ReadLine();
                        if (str != "-y" && str != "-n")
                        {
                            Console.WriteLine("Введена неизвестная команда, повторите ввод");
                        }
                    } while (str != "-y" && str != "-n");
                    if (str == "-y")
                    {
                        away = true;
                    }
                } while (!away);
            }
        }
示例#8
0
        public static void GetCommand()
        {
            Books    book    = new Books();
            Journals journal = new Journals();
            bool     away    = false;
            bool     verify  = false;

            ShowCommands();
            do
            {
                if (!verify)
                {
                    Console.WriteLine("Введите команду ");
                    CurrentCommand = Console.ReadLine();
                }
                verify = false;
                string res = "";
                switch (CurrentCommand)
                {
                case "-book":
                    MessageNewBook();
                    book.AddItem();
                    break;

                case "-journal":
                    MessageNewJournal();
                    journal.AddItem();
                    break;

                case "-change":
                    Console.WriteLine("Изменить параметры книги или журнала ?");
                    res = BookOrJournal();
                    if (res == "-book")
                    {
                        Console.WriteLine("Введите имя книги: ");
                        res = Console.ReadLine();
                        book.ChangeItem(res);
                    }
                    else
                    {
                        Console.WriteLine("Введите имя журнала: ");
                        res = Console.ReadLine();
                        journal.ChangeItem(res);
                    }
                    break;

                case "-search":
                    res = BookOrJournal();
                    if (res == "-book")
                    {
                        Console.WriteLine("Введите имя книги: ");
                        res = Console.ReadLine();
                        book.ShowItem(res);
                    }
                    else
                    {
                        Console.WriteLine("Введите имя журнала: ");
                        res = Console.ReadLine();
                        journal.ShowItem(res);
                    }
                    break;

                case "-delete":
                    res = BookOrJournal();
                    if (res == "-book")
                    {
                        Console.WriteLine("Введите имя книги: ");
                        res = Console.ReadLine();
                        book.DeleteItem(res);
                    }
                    else
                    {
                        Console.WriteLine("Введите имя журнала: ");
                        res = Console.ReadLine();
                        journal.DeleteItem(res);
                    }
                    break;

                case "-help":
                    ShowCommands();
                    break;

                case "-end":
                    away = true;
                    break;

                default:
                    CommandVerify();
                    verify = true;
                    break;
                }
            } while (!away);
        }