Exemplo n.º 1
0
        static void Main(string[] args)
        {
            OrderItem        book       = new OrderItem("三国演义", 24.99, 1);
            OrderItem        food       = new OrderItem("饼干", 16.9, 3);
            OrderItem        toy        = new OrderItem("毛绒熊", 39.9, 1);
            OrderItem        light      = new OrderItem("台灯", 29, 1);
            OrderItem        product    = new OrderItem("ipad", 3999, 1);
            OrderItem        keyboard   = new OrderItem("机械键盘", 399, 6);
            List <OrderItem> orderList1 = new List <OrderItem>();

            orderList1.Add(book);
            orderList1.Add(food);
            List <OrderItem> orderList2 = new List <OrderItem>();

            orderList2.Add(toy);
            orderList2.Add(light);
            List <OrderItem> orderList3 = new List <OrderItem>();

            orderList3.Add(product);
            orderList3.Add(keyboard);
            Order        order1  = new Order("0001", "2010-1-1", "湖北", "张三", orderList1);
            Order        order2  = new Order("0002", "2014-3-4", "山西", "李四", orderList2);
            Order        order3  = new Order("0003", "2019-9-9", "北京", "王五", orderList3);
            OrderService service = new OrderService();

            service.AddOrder(order1);
            service.AddOrder(order2);
            service.AddOrder(order3);
            service.DeleteOrder("0001");
            //service.AddOrder(order3);
            //service.SearchOrder("OrderNum", "0001");
            service.Exoprt(service.Orders);
            string location = "s.xml";

            service.Import(location);
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            OrderItem        item1     = new OrderItem(1, "apple", 5.2, 1);
            OrderItem        item2     = new OrderItem(2, "orange", 3.3, 2);
            OrderItem        item3     = new OrderItem(3, "potato", 4.5, 3);
            OrderItem        item4     = new OrderItem(4, "banana", 2.1, 4);
            OrderItem        item5     = new OrderItem(5, "tomato", 3.2, 5);
            List <OrderItem> itemList1 = new List <OrderItem>();

            itemList1.Add(item1);
            itemList1.Add(item5);
            List <OrderItem> itemList2 = new List <OrderItem>();

            itemList2.Add(item2);
            itemList2.Add(item3);
            List <OrderItem> itemList3 = new List <OrderItem>();

            itemList3.Add(item4);


            Order order1 = new Order(2001, "wuhan", "ZhangSan", itemList1);
            Order order2 = new Order(2002, "beijing", "LiSi", itemList2);
            Order order3 = new Order(2003, "shanghai", "WangWu", itemList3);

            OrderService test = new OrderService();

            test.AddOrder(order1);
            test.AddOrder(order3);
            test.AddOrder(order2);

            Console.WriteLine("Please enter the number of the order that you want to delete:");
            string s;
            bool   f    = true;
            int    temp = 0;

            while (f)
            {
                s = Console.ReadLine();
                try
                {
                    temp = Int32.Parse(s);
                    f    = false;
                }
                catch
                {
                    Console.WriteLine("Not a number, please input again:");
                }
            }

            bool flag = test.DeleteOrder(temp);

            Console.WriteLine("Please enter the number of the order that you want to find:");
            f = true;
            int temp2 = 0;

            while (f)
            {
                s = Console.ReadLine();
                try
                {
                    temp2 = Int32.Parse(s);
                    f     = false;
                }
                catch
                {
                    Console.WriteLine("Not a number, please input again:");
                }
            }

            Order order = test.FindOrder(temp2);

            if (order.OrderID != 0)
            {
                Console.WriteLine($"Find the No.{temp2} order:\n");

                Console.WriteLine(order);
            }
            else
            {
                Console.WriteLine("Failed to find, the order does not exist.\n");
            }
            Console.WriteLine("Please enter the customer's name of the order that you want to find:");
            s = Console.ReadLine();
            List <Order> orders;

            orders = test.FindOrder(false, s);
            if (orders.Count <Order>() != 0)
            {
                Console.WriteLine($"Find {s}'s order:\n");
                foreach (Order m in orders)
                {
                    Console.WriteLine(m);
                }
            }
            else
            {
                Console.WriteLine($"No {s}'s order here.\n");
            }
            Console.WriteLine("Please enter the product which is contained in the order you want to find:");
            s      = Console.ReadLine();
            orders = test.FindOrder(true, s);
            if (orders.Count <Order>() != 0)
            {
                Console.WriteLine($"Find the order that contain {s}:\n");
                foreach (Order m in orders)
                {
                    Console.WriteLine(m);
                }
            }
            else
            {
                Console.WriteLine($"No order contains {s}.\n");
            }
            var output = test.SortOrder();

            Console.WriteLine("Sort the order by orderID ascending:\n");
            foreach (Order o in output)
            {
                Console.WriteLine(o);
            }
            Console.WriteLine("\nPlease input any letter to continue.");
            Console.ReadKey();

            output = test.SortOrder(delegate(Order a, Order b) { return(b.OrderID.CompareTo(a.OrderID)); });
            Console.WriteLine("\nSort the order by orderID descending:\n");
            foreach (Order o in output)
            {
                Console.WriteLine(o);
            }
            Console.WriteLine("\nPlease input any letter to quit.");
            Console.ReadKey();
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            OrderItem        item1     = new OrderItem("apple", 5.2, 1);
            OrderItem        item2     = new OrderItem("orange", 3.3, 2);
            OrderItem        item3     = new OrderItem("potato", 4.5, 3);
            OrderItem        item4     = new OrderItem("banana", 2.1, 4);
            OrderItem        item5     = new OrderItem("tomato", 3.2, 5);
            List <OrderItem> itemList1 = new List <OrderItem>();

            itemList1.Add(item1);
            itemList1.Add(item3);
            itemList1.Add(item5);
            List <OrderItem> itemList2 = new List <OrderItem>();

            itemList2.Add(item2);
            itemList2.Add(item3);
            itemList2.Add(item4);
            List <OrderItem> itemList3 = new List <OrderItem>();

            itemList3.Add(item2);
            itemList3.Add(item4);
            itemList3.Add(item5);
            List <OrderItem> itemList4 = new List <OrderItem>();

            itemList4.Add(item1);
            itemList4.Add(item3);
            itemList4.Add(item4);
            Order        order1 = new Order(2001, "wuhan", "ZhangSan", itemList1);
            Order        order2 = new Order(2002, "beijing", "LiSi", itemList2);
            Order        order3 = new Order(2003, "shanghai", "WangWu", itemList3);
            Order        order4 = new Order(2004, "hangzhou", "ZhaoLiu", itemList4);
            OrderService test   = new OrderService();

            test.AddOrder(order1);
            test.AddOrder(order4);
            test.AddOrder(order3);
            test.AddOrder(order2);
            Console.WriteLine("Now the orderlist is as below:\n");
            foreach (Order m in test.orderList)
            {
                Console.WriteLine(m);
            }
            Console.WriteLine("Please enter the number of the order that you want to delete:");
            string s;
            bool   f    = true;
            int    temp = 0;

            while (f)
            {
                s = Console.ReadLine();
                try
                {
                    temp = Int32.Parse(s);
                    f    = false;
                }
                catch
                {
                    Console.WriteLine("Not a number, please input again:");
                }
            }

            bool flag = test.DeleteOrder(temp);

            if (flag)
            {
                Console.WriteLine($"Delete the No.{temp} order.\nNow the orderlist is as below:\n");
                foreach (Order m in test.orderList)
                {
                    Console.WriteLine(m);
                }
            }
            else
            {
                Console.WriteLine("Failed to delete, the order does not exist.\n");
                foreach (Order m in test.orderList)
                {
                    Console.WriteLine(m);
                }
            }
            Console.WriteLine("Please enter the number of the order that you want to find:");
            f = true;
            int temp2 = 0;

            while (f)
            {
                s = Console.ReadLine();
                try
                {
                    temp2 = Int32.Parse(s);
                    f     = false;
                }
                catch
                {
                    Console.WriteLine("Not a number, please input again:");
                }
            }

            IEnumerable <Order> order = test.FindOrder(temp2);

            if (order.Count <Order>() != 0)
            {
                Console.WriteLine($"Find the No.{temp2} order:\n");
                foreach (Order m in order)
                {
                    Console.WriteLine(m);
                }
            }
            else
            {
                Console.WriteLine("Failed to find, the order does not exist.\n");
            }
            Console.WriteLine("Please enter the customer's name of the order that you want to find:");
            s     = Console.ReadLine();
            order = test.FindOrder(false, s);
            if (order.Count <Order>() != 0)
            {
                Console.WriteLine($"Find {s}'s order:\n");
                foreach (Order m in order)
                {
                    Console.WriteLine(m);
                }
            }
            else
            {
                Console.WriteLine($"No {s}'s order here.\n");
            }
            Console.WriteLine("Please enter the product which is contained in the order you want to find:");
            s     = Console.ReadLine();
            order = test.FindOrder(true, s);
            if (order.Count <Order>() != 0)
            {
                Console.WriteLine($"Find the order that contain {s}:\n");
                foreach (Order m in order)
                {
                    Console.WriteLine(m);
                }
            }
            else
            {
                Console.WriteLine($"No order contains {s}.\n");
            }
            test.SortOrder();
            Console.WriteLine("After sorted by ascend order, now the orderlist is as below:\n");
            foreach (Order m in test.orderList)
            {
                Console.WriteLine(m);
            }
            test.SortOrder(delegate(Order a, Order b) { return(b.OrderNum.CompareTo(a.OrderNum)); });
            Console.WriteLine("After sorted by decend order, now the orderlist is as below:");
            foreach (Order m in test.orderList)
            {
                Console.WriteLine(m);
            }
            Console.ReadLine();
        }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            Console.WriteLine("欢迎使用本订单系统");
            Console.WriteLine("#########################");
            Console.WriteLine("请选择您要使用的服务:");
            Console.WriteLine("输入1:创建新订单");
            Console.WriteLine("输入2:修改订单");
            Console.WriteLine("输入3:删除订单");
            Console.WriteLine("输入4:查询订单订单");
            Console.WriteLine("输入5:退出系统");
            Console.WriteLine("输入6:将所有的订单序列化");
            Console.WriteLine("输入7:从XML文件中载入订单");
            bool flag = true;
            Dictionary <string, Customer> Users = new Dictionary <string, Customer>();
            int count = 0;

            OrderService orderService = new OrderService();

            orderService.OrderList = new List <Order>();
            do
            {
                Console.WriteLine("请选择您要使用的服务:");
                bool flags = false;
                int  i     = 0;
                do
                {
                    try
                    {
                        i = int.Parse(Console.ReadLine());
                        if (i > 0 && i < 8)
                        {
                            flags = true;
                        }
                    }
                    catch (Exception)
                    {
                        Console.WriteLine("请给出正确的输入");
                    }
                } while (!flags);
                switch (i)
                {
                case 1:
                    count++;
                    List <OrderItem> orderItems = new List <OrderItem>();
                    Console.WriteLine("请输入用户名");
                    string user = Console.ReadLine();
                    if (orderService.OrderList.Count() == 0 || Users[user] == null)
                    {
                        Console.WriteLine("请输入电话号码");
                        string phoneNum = Console.ReadLine();
                        Console.WriteLine("请输入地址");
                        string   address   = Console.ReadLine();
                        Customer customer1 = new Customer(user, phoneNum, address);
                        Users.Add(user, customer1);
                    }

                    Customer customer = Users[user];

                    Console.WriteLine("请以此输入订单项目的名称、单价和数量,并在最后输入“stop”停止");
                    string input = null;
                    do
                    {
                        input = Console.ReadLine();
                        if (input != "stop")
                        {
                            string    name      = input;
                            int       price     = int.Parse(Console.ReadLine());
                            int       amount    = int.Parse(Console.ReadLine());
                            Goods     good      = new Goods(name, price);
                            OrderItem orderItem = new OrderItem(good, amount);
                            orderItems.Add(orderItem);
                        }
                    } while (input != "stop");
                    Order order = new Order(orderItems, customer, count);
                    orderService.OrderList.Add(order);
                    Console.WriteLine("您已经成功创建订单,订单号为:" + count);
                    break;

                case 2:
                    Console.WriteLine("请选择您要修改的订单号");
                    int ID = int.Parse(Console.ReadLine());
                    if (orderService.InquiryOrder(ID) == null)
                    {
                        Console.WriteLine("该订单不存在。");
                        continue;
                    }

                    List <OrderItem> orderItems1 = new List <OrderItem>();
                    Console.WriteLine("请输入用户名");
                    string user1 = Console.ReadLine();
                    if (orderService.OrderList.Count() == 0 || Users[user1] == null)
                    {
                        Console.WriteLine("请输入电话号码");
                        string phoneNum = Console.ReadLine();
                        Console.WriteLine("请输入地址");
                        string   address   = Console.ReadLine();
                        Customer customer2 = new Customer(user1, phoneNum, address);
                        Users.Add(user1, customer2);
                    }

                    Customer customer3 = Users[user1];

                    Console.WriteLine("请以此输入订单项目的名称、单价和数量,并在最后输入“stop”停止");
                    string input1 = null;
                    do
                    {
                        input = Console.ReadLine();
                        if (input1 != "stop")
                        {
                            string    name      = input;
                            int       price     = int.Parse(Console.ReadLine());
                            int       amount    = int.Parse(Console.ReadLine());
                            Goods     good      = new Goods(name, price);
                            OrderItem orderItem = new OrderItem(good, amount);
                            orderItems1.Add(orderItem);
                        }
                    } while (input1 != "stop");
                    Order order1 = new Order(orderItems1, customer3, 0);

                    orderService.ModifyOrder(orderService.InquiryOrder(ID), order1);
                    break;

                case 3:
                    Console.WriteLine("请选择您要删除的订单号");
                    int ID1 = int.Parse(Console.ReadLine());
                    if (orderService.InquiryOrder(ID1) == null)
                    {
                        Console.WriteLine("该订单不存在。");
                        continue;
                    }
                    orderService.DeleteOrder(orderService.InquiryOrder(ID1));
                    break;

                case 4:
                    Console.WriteLine("请选择您查询的方式://1:根据订单号查询  //2:根据货物查询  //3:根据用户查询");
                    int partern = int.Parse(Console.ReadLine());
                    switch (partern)
                    {
                    case 1:
                        Console.WriteLine("请输入订单号");
                        int ID3 = int.Parse(Console.ReadLine());
                        if (orderService.InquiryOrder(ID3) == null)
                        {
                            Console.WriteLine("该订单不存在。");
                            continue;
                        }
                        Console.WriteLine(orderService.InquiryOrder(ID3).ToString());
                        break;

                    case 2:
                        Console.WriteLine("请输入货物名");
                        string name1 = Console.ReadLine();
                        if (orderService.InquiryOrder(1, name1) == null)
                        {
                            Console.WriteLine("该订单不存在。");
                            continue;
                        }

                        foreach (Order order0 in orderService.InquiryOrder(1, name1))
                        {
                            Console.WriteLine(order0.ToString());
                        }
                        break;

                    case 3:
                        Console.WriteLine("请输用户名");
                        string name2 = Console.ReadLine();
                        if (orderService.InquiryOrder(2, name2) == null)
                        {
                            Console.WriteLine("该订单不存在。");
                            continue;
                        }

                        foreach (Order order0 in orderService.InquiryOrder(2, name2))
                        {
                            Console.WriteLine(order0.ToString());
                        }
                        break;
                    }
                    break;



                case 5:
                    flag = false; break;

                case 6:
                    Console.WriteLine("输入您要创建的文件名(以.xml结尾)");
                    string filename = Console.ReadLine();
                    orderService.Export(filename); break;

                case 7:
                    Console.WriteLine("输入您要查找的文件名(以.xml结尾)");
                    string filename1 = Console.ReadLine();
                    orderService.Import(filename1); break;

                default:
                    break;
                }
            } while (flag);
            Console.WriteLine("感谢您使用此系统,再见qwq");
        }