예제 #1
0
        public static void Main(string[] args)
        {
            Console.Write("Выберите способ работы \n 1 - Ввести информацию из файла. \n 2 - Ввести иинформацию в ручную. \n Ввод: ");
            int sw = int.Parse(Console.ReadLine());

            AutoOwner owner    = new AutoOwner();
            Repair    repair   = new Repair();
            Car       car      = new Car();
            Mechanic  mechanic = new Mechanic();
            Logger    log      = new Logger(Console.Out);
            string    str;

            SaveManager info = new SaveManager("info.txt");

            switch (sw)
            {
            case 1:
                Console.Write("Введите название файла для открытия: ");
                str = Console.ReadLine();
                str = str + ".txt";

                while (true)
                {
                    if (!File.Exists(str))
                    {
                        Console.Write("Такого файла не существует, введите другое название: ");
                        str = Console.ReadLine();
                        str = str + ".txt";
                    }
                    else
                    {
                        break;
                    }
                }

                LoadManager loader = new LoadManager(str);
                LoadLogger  a      = new LoadLogger(loader, log);

                loader.BeginRead();
                mechanic = loader.Read(new Mechanic.Loader()) as Mechanic;
                owner    = loader.Read(new AutoOwner.Loader()) as AutoOwner;
                car      = loader.Read(new Car.Loader()) as Car;
                repair   = loader.Read(new Repair.Loader()) as Repair;

                loader.EndRead();

                break;

            case 2:
                owner.AutoOwnerConsoleReader();
                car.CarConsoleReader();
                mechanic.MechanicConsoleReader();
                repair.RepairConsoleReader();
                break;

            default:
                Console.WriteLine("Не верно введено значение");
                Console.ReadKey();
                Environment.Exit(0);
                break;
            }

            owner.getAutoOwnerConsoleInfo();
            car.getCarConsoleInfo();
            mechanic.getMechanicConsoleInfo();
            repair.getRepairConsoleInfo();

            Console.WriteLine($"Общая стоимость наряда на ремонт: {repair.CostOfRepair(mechanic.tarif())} рублей.");

            owner.Write(info);
            car.Write(info);
            mechanic.Write(info);
            repair.Write(info);

            StreamWriter s = new StreamWriter("info.txt", true, Encoding.GetEncoding(1251));

            s.WriteLine($"Общая стоимость наряда на ремонт: {repair.CostOfRepair(mechanic.tarif())} рублей.");
            s.Close();
            Console.ReadKey();
        }