Exemple #1
0
        public override void Modification()
        {
            Console.WriteLine("Для изменения имени нажмите 2");
            Console.WriteLine("Для изменения цвета нажмите 3");
            Console.WriteLine("Для изменения веса нажмите 4");
            Console.WriteLine("Для изменения количества мест нажмите 5");
            Console.WriteLine("Для изменения габаритов нажмите 6 и следуйте инструкции");
            Console.WriteLine("Для изменения состава нажмите 7 и следуйте инструкции");
            int n = Convert.ToInt32(Checks.CheckSingleInput());

            try
            {
                switch (n)
                {
                case 2:
                    Console.WriteLine("Введите имя");
                    Name = Checks.CheckSingleStringInput(); break;

                case 3:
                    Console.WriteLine("Введите цвет");
                    Color = Checks.CheckSingleStringInput(); break;

                case 4:
                    Console.WriteLine("Введите вес");
                    Weight = Convert.ToDouble(Checks.CheckSingleDoubleInput()); break;

                case 5:
                    Console.WriteLine("Введите количество мест");
                    NumberOfSeats = Convert.ToInt32(Checks.CheckSingleInput()); break;


                case 6:
                    ModificationOutput2();
                    int m = Convert.ToInt32(Checks.CheckSingleInput());
                    switch (m)
                    {
                    case 1:
                        Console.WriteLine("Введите ширину");
                        double y = Convert.ToDouble(Checks.CheckSingleDoubleInput());
                        if (y > 0)
                        {
                            transportDimensions.width = y;
                        }
                        else
                        {
                            InvalidArgumentException ex = new InvalidArgumentException();
                            throw ex;
                        }
                        break;

                    case 2:
                        Console.WriteLine("Введите высоту");
                        y = Convert.ToDouble(Checks.CheckSingleDoubleInput());
                        if (y > 0)
                        {
                            transportDimensions.height = y;
                        }
                        else
                        {
                            InvalidArgumentException ex = new InvalidArgumentException();
                            throw ex;
                        }
                        break;

                    case 3:
                        Console.WriteLine("Введите длину");
                        y = Convert.ToDouble(Checks.CheckSingleDoubleInput());
                        if (y > 0)
                        {
                            transportDimensions.length = y;
                        }
                        else
                        {
                            InvalidArgumentException ex = new InvalidArgumentException();
                            throw ex;
                        }
                        break;
                    }
                    break;

                case 7:
                    Console.WriteLine("Введите индекс поля состава, которое хотите изменить(>=0&&<=10)");
                    m = Convert.ToInt32(Checks.CheckSingleInput());
                    Console.WriteLine("Введите часть состава");
                    this[m - 1] = Checks.CheckSingleStringInput();
                    break;


                default:
                    InvalidArgumentException exc = new InvalidArgumentException();
                    throw exc;
                }
            }
            catch (WrongInputException e)
            {
                Console.WriteLine("{0}", e.Message);
            }
            Console.WriteLine("");
        }
        public virtual void Modification()
        {
            ModificationOutput();
            int n = Convert.ToInt32(Checks.CheckSingleInput());

            try
            {
                switch (n)
                {
                case 2:
                    Console.WriteLine("Введите имя");
                    Name = Checks.CheckSingleStringInput(); break;

                case 3:
                    Console.WriteLine("Введите цвет");
                    Color = Checks.CheckSingleStringInput(); break;

                case 4:
                    Console.WriteLine("Введите вес");
                    Weight = Convert.ToDouble(Checks.CheckSingleDoubleInput()); break;

                case 5:
                    Console.WriteLine("Введите количество мест");
                    NumberOfSeats = Convert.ToInt32(Checks.CheckSingleInput()); break;

                case 6: Console.WriteLine("Введите марку"); Mark = Checks.CheckSingleStringInput(); break;

                case 7:
                    Console.WriteLine("Введите максимальную скорость");
                    MaxSpeed = Convert.ToDouble(Checks.CheckSingleDoubleInput()); break;

                case 8:
                    ModificationOutput2();
                    int m = Convert.ToInt32(Checks.CheckSingleInput());
                    switch (m)
                    {
                    case 1:
                        Console.WriteLine("Введите ширину");
                        double y = Convert.ToDouble(Checks.CheckSingleDoubleInput());
                        if (y > 0)
                        {
                            transportDimensions.width = y;
                        }
                        else
                        {
                            InvalidArgumentException ex = new InvalidArgumentException();
                            throw ex;
                        }
                        break;

                    case 2:
                        Console.WriteLine("Введите высоту");
                        y = Convert.ToDouble(Checks.CheckSingleDoubleInput());
                        if (y > 0)
                        {
                            transportDimensions.height = y;
                        }
                        else
                        {
                            InvalidArgumentException ex = new InvalidArgumentException();
                            throw ex;
                        }
                        break;

                    case 3:
                        Console.WriteLine("Введите длину");
                        y = Convert.ToDouble(Checks.CheckSingleDoubleInput());
                        if (y > 0)
                        {
                            transportDimensions.length = y;
                        }
                        else
                        {
                            InvalidArgumentException ex = new InvalidArgumentException();
                            throw ex;
                        }
                        break;
                    }
                    break;

                case 9:
                    Console.WriteLine("Введите индекс поля состава, которое хотите изменить(>=0&&<=10)");
                    m = Convert.ToInt32(Checks.CheckSingleInput());
                    Console.WriteLine("Введите часть состава");
                    this[m - 1] = Checks.CheckSingleStringInput();
                    break;

                default:
                    InvalidArgumentException exс = new InvalidArgumentException();
                    throw exс;
                }
            }
            catch (WrongInputException e)
            {
                Console.WriteLine("{0}", e.Message);
            }
            Console.WriteLine("");
        }