示例#1
0
        static void Main(string[] args)
        {
            LoggerMaster.LoggerM.Debug("Program started.");

            TaxiStation footInHands = new TaxiStation(40, 15);

            try
            {
                footInHands.LBase();
            }
            catch (System.Runtime.Serialization.SerializationException ex)
            {
                Console.WriteLine("Ошибка: " + ex.Message);
            }

            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            //// Это рабочая генерация автомобилей!
            //for (ushort i = 0; i < 500; i++)
            //    footInHands.AddCar(HelperFunctions.CarGenerator());

            //// Пока сделаем все машинки с пройденным ТО.
            //foreach (Car c in footInHands.AllCars)
            //    (c as Taxi).IsServiced = true;

            //foreach (Car c in FootInHands.all_cars)
            //    if (c.number == "b718kc")
            //        (c as Taxi).is_serviced = false;

            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



            List <Car> tmpCarsList = new List <Car>();
            Car        tmpCar      = null;
            bool       exitState   = false;

            while (!exitState)
            {
                string cmd;
                Console.Write("::::> ");
                cmd = Console.ReadLine().ToLower();
                LoggerMaster.LoggerM.Debug("User cmd: " + cmd);

                switch (cmd)
                {
                case "h":
                case "help":
                    //_mlogger.Debug("Call: " + nameof(help));
                    help();
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "exit":
                    LoggerMaster.LoggerM.Debug("Exit.");
                    exitState = true;
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "clear":
                    //_mlogger.Debug("Call: " + nameof(Console.Clear));
                    Console.Clear();
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "a":
                case "add" + "car":     // AddCar
                    //_mlogger.Debug("Call: " + nameof(footInHands.AddCar));
                    footInHands.AddCar(HelperFunctions.NewCar());
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "sd":
                case "set" + "driver":     // SetDriver
                    //_mlogger.Debug("Call: " + nameof(SetDriver));
                    SetDriver(ref tmpCar);
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "d":
                case "del" + "car" + "via" + "number":     // DelCarViaNumber
                    //_mlogger.Debug("Call: " + nameof(DelCarViaNumber));
                    DelCarViaNumber(footInHands);
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "dvb":
                case "del" + "car" + "via" + "bodynumber":     // DelCarViaBodyNumber
                    //_mlogger.Debug("Call: " + nameof(DelCarViaBodyNumber));
                    DelCarViaBodyNumber(footInHands);
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "s":
                case "search" + "car" + "via" + "number":     // SearchCarViaNumber
                    //_mlogger.Debug("Call: " + nameof(SearchCarViaNumber));
                    SearchCarViaNumber(footInHands, ref tmpCar);
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "scbn":
                case "search" + "car" + "via" + "bodynumber":     // SearchCarViaBodyNumber
                    SearchCarViaBodyNumber(footInHands, ref tmpCar);
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "gw":
                case "get" + "cars" + "worked":     // GetCarsWorked
                    tmpCarsList = footInHands.GetCarsWorked();
                    if (tmpCarsList.Count == 0)
                    {
                        Console.WriteLine("Ничего не найдено.");
                    }
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "gf":
                case "get" + "cars" + "free":     // GetCarsFree
                    tmpCarsList = footInHands.GetCarsFree();
                    if (tmpCarsList.Count == 0)
                    {
                        Console.WriteLine("Ничего не найдено.");
                    }
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "gb":
                case "get" + "broken" + "cars":     // GetBrokenCars
                    tmpCarsList = footInHands.GetBrokenCars();
                    if (tmpCarsList.Count == 0)
                    {
                        Console.WriteLine("Сломанных авто не найдено.");
                    }
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "gws":
                case "get" + "cars" + "without" + "service":     //GetCarsWithoutService
                    tmpCarsList = footInHands.GetCarsWithoutService();
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "gft":
                case "get" + "free" + "taxi":     // GetFreeTaxi
                    GetFreeTaxi(footInHands, ref tmpCarsList);
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "gfw":
                case "get" + "free" + "wrecker":
                    tmpCarsList = footInHands.GetFreeWrecker();
                    if (tmpCarsList.Count == 0)
                    {
                        Console.WriteLine("Ничего не найдено.");
                    }
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "r":
                case "run" + "as" + "mileage":     // RunAsMileage
                    RunAsMileage(footInHands, ref tmpCar);
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "st":
                case "stop" + "car":     // StopCar

                    // Dictionary<string, uint> run_result;
                    // run_result = (tmp_car as Taxi).Stop();
                    //uint result_miles;
                    //result_miles = run_result["miles"];
                    try
                    {
                        (tmpCar as Taxi).Stop();
                    }
                    catch (StopException)
                    {
                        Console.WriteLine("Немогу остановить авто - оно уже остановлено.");
                    }
                    break;
                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                case "runasmileage-rand":     // RunAsMileage
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "stl":
                case "show" + "tmp" + "list":     // ShowTmpList - отобразить tmp_cars_list.
                    foreach (Car c in tmpCarsList)
                    {
                        Console.WriteLine((c as Taxi).ShowInfo());
                    }
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "scc":
                case "show" + "current" + "car":     // ShowCurrentCar
                    if (tmpCar != null)
                    {
                        Console.WriteLine((tmpCar as Taxi).ShowInfo());
                    }
                    else
                    {
                        Console.WriteLine("Нет выбранных авто.");
                    }
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "sa":
                case "show" + "all" + "cars":
                    foreach (Car c in footInHands.AllCars)
                    {
                        Console.WriteLine((c as Taxi).ShowInfo());
                    }
                    break;

                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                case "gs":
                case "get" + "state":     // GetState
                    Console.WriteLine(
                        "Всего авто зарегистрировано: " + Convert.ToString(footInHands.AllCars.Count) + "\n" +
                        "Автошек сломано: " + Convert.ToString(footInHands.GetBrokenCars().Count) + "\n" +
                        "Выручка: " + Convert.ToString(footInHands.ResultMoney) + "\n" +
                        "Автошек требуют ТО: " + Convert.ToString(footInHands.GetCarsWithoutService().Count) + "\n"
                        );

                    break;


                //case "savebase":
                //    FootInHands.SaveBase();
                //    break;
                //case "l":
                //case "loadbase":
                //    FootInHands.LoadBase();
                //    break;

                default:
                    break;
                }
            }

            footInHands.SBase();
            return;
        }