Exemplo n.º 1
0
        public static void QueryMenu(int i, OrderService os, ref bool flag)
        {
            switch (i)
            {
            case 1:
                Console.WriteLine("输入客户姓名:");
                os.DisplayOrders(os.QueryByName(Console.ReadLine()));
                break;

            case 2:
                Console.WriteLine("输入订单时间");
                DateTime.TryParse(Console.ReadLine(), out DateTime time);
                os.DisplayOrders(os.QueryByOrderTime(time));
                break;

            case 3:
                Console.WriteLine("输入订单ID:");
                Int32.TryParse(Console.ReadLine(), out int id);
                os.DisplayOrders(os.QueryByID(id));
                break;

            case 4:
                Console.WriteLine("输入查询条件:(例如: >10 <10 =10)");
                string input_price = Console.ReadLine();
                float.TryParse(input_price.Substring(1, input_price.Length - 1), out float price);
                switch (input_price[0])
                {
                case '>':
                    os.DisplayOrders(os.QueryByCertainPrice(x => x > price));
                    break;

                case '<':
                    os.DisplayOrders(os.QueryByCertainPrice(x => x < price));
                    break;

                case '=':
                    os.DisplayOrders(os.QueryByCertainPrice(x => x == price));
                    break;
                }
                break;

            case 5:
                Console.WriteLine("输入查询条件:(例如: >2009-05-01 14:57:32.8)");
                string input_time = Console.ReadLine();
                DateTime.TryParse(input_time.Substring(1, input_time.Length - 1), out DateTime certainTime);
                switch (input_time[0])
                {
                case '>':
                    os.DisplayOrders(os.QueryByCertainTime(x => x > certainTime));
                    break;

                case '<':
                    os.DisplayOrders(os.QueryByCertainTime(x => x < certainTime));
                    break;

                case '=':
                    os.DisplayOrders(os.QueryByCertainTime(x => x == certainTime));
                    break;
                }
                break;

            case 6:
                os.DisplayOrders(os.OrderByID(os.GetOrders()));
                break;

            case 7:
                os.DisplayOrders(os.OrderByTime(os.GetOrders()));
                break;

            case 8:
                os.DisplayOrders(os.OrderByPrice(os.GetOrders()));
                break;

            case 0:
                flag = false;
                break;

            default:
                Console.WriteLine("菜单中无此项");
                break;
            }
        }