Exemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.WriteLine("欢迎使用订单管理系统!");
            bool   quit    = false;
            bool   success = false;
            int    id      = 1;
            int    customerID;
            Order  order;
            string fileName = "orders.xml";

            while (!quit)
            {
                Console.WriteLine("请选择服务:\n1.添加订单\t2.更改订单\t3.删除订单\t4.查询订单" +
                                  "\t5.显示订单\t6.导出订单\t7.导入订单\t0.退出");
                int service = Convert.ToInt32(Console.ReadLine());
                switch (service)
                {
                case 1:
                    Console.WriteLine("请输入客户名:");
                    string customerName = Console.ReadLine();
                    Console.WriteLine("请输入地址:");
                    string address = Console.ReadLine();
                    customerID = Math.Abs(customerName.GetHashCode());
                    order      = new Order(id, address, customerName, customerID);
                    id++;
                    bool back = false;
                    while (!back)
                    {
                        Console.WriteLine("请输入货物名称,或输入back返回:");
                        string name = Console.ReadLine();
                        if (name == "back")
                        {
                            back = true;
                            break;
                        }
                        Console.WriteLine("请输入货物单价:");
                        double    price = Convert.ToDouble(Console.ReadLine());
                        OrderItem item  = new OrderItem(name, price);
                        order.AddItem(item);
                    }
                    success = orderService.AddOrder(order);
                    if (success)
                    {
                        Console.WriteLine("添加成功!");
                        break;
                    }
                    Console.WriteLine("添加失败!");
                    break;

                case 2:
                    Console.WriteLine("请输入订单编号:");
                    int currentID = Convert.ToInt32(Console.ReadLine());
                    Console.WriteLine("请输入新客户名:");
                    string newCustomerName = Console.ReadLine();
                    Console.WriteLine("请输入新地址:");
                    string newAddress = Console.ReadLine();
                    foreach (Order o in orderService.orders)
                    {
                        if (o.ID == currentID)
                        {
                            order   = new Order(currentID, newAddress, newCustomerName, o.CustomerID);
                            success = orderService.UpdateOrder(order);
                            break;
                        }
                    }
                    if (success)
                    {
                        Console.WriteLine("修改成功!");
                        break;
                    }
                    Console.WriteLine("修改失败!");
                    break;

                case 3:
                    Console.WriteLine("请输入订单编号:");
                    currentID = Convert.ToInt32(Console.ReadLine());
                    foreach (Order o in orderService.orders)
                    {
                        if (o.ID == currentID)
                        {
                            order   = new Order(currentID, o.Address, o.CustomerName, o.CustomerID);
                            success = orderService.DeleteOrder(order);
                        }
                    }
                    if (success)
                    {
                        Console.WriteLine("删除成功!");
                        break;
                    }
                    Console.WriteLine("删除失败!");
                    break;

                case 4:
                    Console.WriteLine("按什么查询:\n1.订单号\t2.客户ID\t3.客户名\t4.物品名\t0.返回");
                    int method = Convert.ToInt32(Console.ReadLine());
                    if (method == 0)
                    {
                        break;
                    }
                    Console.WriteLine("输入要查询的内容");
                    string       query = Console.ReadLine();
                    List <Order> list  = orderService.QueryBy(method, query);
                    if (list == null)
                    {
                        Console.WriteLine("未查询到指定项目");
                        break;
                    }
                    foreach (Order o in list)
                    {
                        Console.WriteLine(o);
                    }
                    break;

                case 5:
                    Console.WriteLine("按什么排序:\n1.客户名\t2.客户ID\t3.时间  \t4.订单号");
                    method = Convert.ToInt32(Console.ReadLine());
                    list   = orderService.SortBy(method);
                    foreach (Order o in list)
                    {
                        Console.WriteLine(o);
                    }
                    break;

                case 6:
                    Console.WriteLine("输入文件名:");
                    fileName = Console.ReadLine() + ".xml";
                    orderService.Export(fileName);
                    Console.WriteLine("文件内容:");
                    Console.WriteLine(File.ReadAllText(fileName));
                    break;

                case 7:
                    Console.WriteLine("输入文件名:");
                    fileName = Console.ReadLine() + ".xml";
                    list     = orderService.Import(fileName);
                    foreach (Order o in list)
                    {
                        Console.WriteLine(o);
                    }
                    break;

                case 0:
                    quit = true;
                    break;
                }
            }
        }