예제 #1
0
        static void Main(string[] args)
        {
            //测试
            OrderService service = new OrderService();

            //添加订单
            Order myOrder01 = service.AddOrder("01", "Lily");
            Order myOrder02 = service.AddOrder("02", "Mike");

            try
            {
                //给订单添加条目(商品)
                myOrder01.AddProduct("apple");
                myOrder01.AddProduct("sofa");
                myOrder02.AddProduct("banana");

                //修改订单中的内容
                myOrder01.ChangeProduct("apple", "number", 12); //使apple的数量变为12
                myOrder01.ChangeProduct("apple", "price", 5);   //使apple单价变为5
                myOrder01.ChangeProduct("sofa", "number", 3);
                myOrder01.ChangeProduct("sofa", "price", 5000);
                myOrder02.AddProduct("banana");//再增加一个banana
                myOrder02.ChangeProduct("banana", "price", 7);

                //显示订单内容
                myOrder01.ShowOrder();
                myOrder02.ShowOrder();

                //按照客户名字查找订单
                List <Order> myOrder = service.FindOrderByCustomer("Mike");
                foreach (Order order in myOrder)
                {
                    order.ShowOrder();
                }

                //service.AddOrder("01","Lily");

                //按照订单中的商品返回订单
                List <Order> pdtOrder = service.FindOrderByProduct("banana");

                //查找总额大于10000的订单
                List <Order> bigOrder = service.FindOrderOverWan();

                ////序列化订单
                //// OrderService.Export();
                //XmlSerializer xmlser = new XmlSerializer(typeof(List<Order>));
                //string xmlFileName = "orders.xml";
                //OrderService.XmlSerialize(xmlser, xmlFileName, OrderService.orderList);
                //Console.WriteLine("XML序列化订单:");
                ////显示文本
                //string xml = File.ReadAllText(xmlFileName);
                //Console.WriteLine(xml);

                ////反序列化订单
                //List<Order> orderList2 = OrderService.XmlDeserialize(xmlser, xmlFileName)
                //as List<Order>;
                //foreach (Order order in OrderService.orderList)
                //    Console.WriteLine(order);

                //序列化订单
                service.Export();
                //反序列化订单
                service.Import("orders.xml");

                //删除订单
                service.DeleteOrder(myOrder01);
                service.DeleteOrder(myOrder02);
            }
            catch (MyException e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine("操作失败!");
            }
        }
예제 #2
0
        static void Main(string[] args)
        {
            //订单1
            List <OrderDetail> orderDetails1 = new List <OrderDetail>();
            OrderDetail        od1_1         = new OrderDetail("笔", 1, "北京");

            orderDetails1.Add(od1_1);
            OrderDetail od1_2 = new OrderDetail("纸", 0.5, "上海");

            orderDetails1.Add(od1_2);
            Order order1 = new Order("123456", "张三", orderDetails1);

            //订单2
            List <OrderDetail> orderDetails2 = new List <OrderDetail>();
            OrderDetail        od2_1         = new OrderDetail("书包", 100, "北京");

            orderDetails2.Add(od2_1);
            OrderDetail od2_2 = new OrderDetail("笔记本", 10000, "上海");

            orderDetails2.Add(od2_2);
            Order order2 = new Order("234567", "张四", orderDetails2);

            //订单3
            List <OrderDetail> orderDetails3 = new List <OrderDetail>();
            OrderDetail        od3_1         = new OrderDetail("书包", 100, "北京");

            orderDetails3.Add(od3_1);
            OrderDetail od3_2 = new OrderDetail("笔记本", 10000, "上海");

            orderDetails3.Add(od3_2);
            Order order3 = new Order("345678", "张五", orderDetails3);

            List <Order> orders = new List <Order>();

            orders.Add(order1);
            orders.Add(order2);
            orders.Add(order3);

            //订单服务
            OrderService orderService = new OrderService(orders);

            orderService.ShowAllOrders();

            //XML序列化
            string xmlFileName = "s.xml";

            orderService.Export(xmlFileName);
            Console.WriteLine("XML序列化\n");
            //显示XML文本
            string xml = File.ReadAllText(xmlFileName);

            Console.WriteLine(xml);

            Console.WriteLine("XML反序列化\n");
            OrderService os = OrderService.Import(xmlFileName);

            os.ShowAllOrders();

            //对订单的操作
            int n = 1;

            while (n > 0)
            {
                Console.WriteLine("请输入整数表示操作 1.添加订单 2.删除订单(订单号) 3.修改订单 4.查询订单(订单号) 5.查询订单(购买人) 6.查询订单(订单内的商品)7.查找金额大于10000的订单 0退出");
                n = int.Parse(Console.ReadLine());
                Order find = new Order();
                switch (n)
                {
                //1.添加订单
                case 1:
                {
                    string s1, s2;
                    Console.WriteLine("请输入一个新的订单");
                    Order newOrder;

                    Console.WriteLine("请输入订单号");
                    s1 = Console.ReadLine();
                    Console.WriteLine("请输入购买人");
                    s2 = Console.ReadLine();
                    Console.WriteLine("请输入购买商品的数量");
                    int goodCount = 0;
                    goodCount = int.Parse(Console.ReadLine());
                    List <OrderDetail> ods = new List <OrderDetail>();
                    string             s3, s4;
                    double             d1;
                    for (int i = 0; i < goodCount; i++)
                    {
                        Console.WriteLine("请输入商品名");
                        s3 = Console.ReadLine();
                        Console.WriteLine("请输入价格");
                        d1 = double.Parse(Console.ReadLine());
                        Console.WriteLine("请输入产地");
                        s4 = Console.ReadLine();
                        OrderDetail AOd = new OrderDetail(s3, d1, s4);
                        ods.Add(AOd);
                    }
                    newOrder = new Order(s1, s2, ods);


                    Console.WriteLine("添加第这个订单后");
                    orderService.AddOrder(newOrder);
                    Console.WriteLine();
                    orderService.ShowAllOrders();
                    Console.WriteLine();
                    break;
                }

                //2.删除订单(订单号)
                case 2:
                {
                    string s = "";

                    Console.WriteLine("请输入想删除的订单号的订单");
                    s = Console.ReadLine();

                    try
                    {
                        orderService.DelOrder(orderService.SearchByOrdNum(s));
                        orderService.ShowAllOrders();
                        Console.WriteLine("删除一个订单之后");
                        Console.WriteLine();
                    }
                    catch (CanNotFindOrder e)
                    {
                        Console.WriteLine(e.Message);
                    }

                    break;
                }

                //3.修改订单(订单名)
                case 3:
                {
                    try
                    {
                        Console.WriteLine("把订单名张三改成李四");
                        orderService.ChangeOrder("张三", "李四");
                        orderService.ShowAllOrders();
                    }
                    catch (CanNotFindOrder e)
                    {
                        Console.WriteLine(e.Message);
                    }
                    Console.WriteLine();
                    break;
                }


                //4.查询订单(订单号)
                case 4:
                {
                    Console.WriteLine("请输入想查询的订单号的订单");
                    string sNum = "";
                    sNum = Console.ReadLine();
                    try
                    {
                        find = orderService.SearchByOrdNum(sNum);
                        find.ShowOrder();
                    }
                    catch (CanNotFindOrder e)
                    {
                        Console.WriteLine(e.Message);
                    }
                    Console.WriteLine();
                    break;
                }

                //5.查询订单(购买人)
                case 5:
                {
                    Console.WriteLine("请输入想查询的订单号的购买人");
                    string sName = "";
                    sName = Console.ReadLine();
                    try
                    {
                        find = orderService.SearchByBuyerName(sName);
                        find.ShowOrder();
                    }
                    catch (CanNotFindOrder e)
                    {
                        Console.WriteLine(e.Message);
                    }
                    Console.WriteLine();
                    break;
                }

                //6.查询订单(商品名)
                case 6:
                {
                    Console.WriteLine("请输入想查询的订单号的商品名");
                    string gName = "";
                    gName = Console.ReadLine();
                    try
                    {
                        find = orderService.SearchByGoodsName(gName);
                        find.ShowOrder();
                    }
                    catch (CanNotFindOrder e)
                    {
                        Console.WriteLine(e.Message);
                    }
                    Console.WriteLine();
                    break;
                }

                case 7:
                {
                    try
                    {
                        Console.WriteLine("金额超过10000的订单有");
                        find = orderService.SearchByOrdMonMoreThan10000();
                        find.ShowOrder();
                    }
                    catch (CanNotFindOrder e)
                    {
                        Console.WriteLine(e.Message);
                    }
                    Console.WriteLine();
                    break;
                }

                default:
                    n = -1;
                    break;
                }
            }
            Console.ReadKey();
        }
예제 #3
0
        public static void DoOrder(string s, OrderService orderService)
        {
            if (s == "添加订单")
            {
                Console.WriteLine("请按顺序输入客户姓名,订单号,电话号码(例:张三 123456789 13800000000(每输入一个信息请按下回车键)):");
                string customer    = "";
                string ordernumber = "";
                string phonenumber = "";
                customer    = Console.ReadLine();
                ordernumber = Console.ReadLine();
                phonenumber = Console.ReadLine();
                Console.WriteLine("该订单有几种商品:");
                string sNum = Console.ReadLine();
                int    num  = 0;
                try
                {
                    num = Int32.Parse(sNum);
                }
                catch
                {
                    Console.WriteLine("输入的件数存在问题");
                }
                if (num <= 0)
                {
                    Console.WriteLine("商品件数应该大于0");
                }
                else
                {
                    orderService.AddOrder(ordernumber, customer, phonenumber, num);
                }
            }

            else if (s == "查询订单")
            {
                string s1 = "";
                Console.WriteLine("请输入需要查询的订单的一项信息(姓名或订单号):");
                s1 = Console.ReadLine();
                Console.WriteLine("您的订单信息为:");
                orderService.OutOrder(s1);
                Console.WriteLine("是否查找10000元以上订单");
                s1 = Console.ReadLine();
                if (s1 == "是")
                {
                    orderService.SearchByMoney();
                }
            }

            else if (s == "修改订单")
            {
                Console.WriteLine("请输入需要查询的订单的一项信息(姓名或订单号):");
                string s1 = "";
                s1 = Console.ReadLine();
                List <Orders> orders = orderService.SearchOrder(s1);
                orderService.OutOrder(s1);
                Console.WriteLine("接下来按照顺序修改");
                foreach (Orders order in orders)
                {
                    if (order != null)
                    {
                        string str;
                        Console.WriteLine("是否修改订单号和客户名称(是或否)");
                        str = Console.ReadLine();
                        if (str == "是")
                        {
                            Console.WriteLine("请按顺序输入新的订单信息(客户姓名,订单号,电话号码):");
                            string customer    = "";
                            string ordernumber = "";
                            string phonenumber = "";
                            customer    = Console.ReadLine();
                            ordernumber = Console.ReadLine();
                            phonenumber = Console.ReadLine();
                            orderService.ChangeOrder(order, customer, ordernumber, phonenumber);
                        }

                        Console.WriteLine("是否增加商品");
                        str = Console.ReadLine();
                        if (str == "是")
                        {
                            bool isContinue = true;
                            do
                            {
                                Console.WriteLine("输入添加的商品的信息(名称,单价,数量)");
                                string str2 = "";
                                str2 = Console.ReadLine();
                                string name = str2;

                                str2 = Console.ReadLine();
                                double price = 0;
                                try { price = double.Parse(str2); }
                                catch { Console.WriteLine("输入单价格式错误"); }

                                str2 = Console.ReadLine();
                                int number = 0;
                                try { number = Int32.Parse(str2); }
                                catch { Console.WriteLine("输入数量格式错误"); }
                                orderService.ChangeGoods(order, true, name, price, number);
                                Console.WriteLine("是否继续增加");
                                str2 = Console.ReadLine();
                                if (str2 == "是")
                                {
                                    isContinue = true;
                                }
                                else if (str2 == "否")
                                {
                                    isContinue = false;
                                }
                                else
                                {
                                    Console.WriteLine("输入的指令有误");
                                }
                            } while (isContinue == true);
                        }

                        Console.WriteLine("是否删除商品");
                        str = Console.ReadLine();
                        if (str == "是")
                        {
                            bool isContinue = true;
                            do
                            {
                                Console.WriteLine("输入删除的商品的名称");
                                string str2 = "";
                                str2 = Console.ReadLine();
                                string name = str2;
                                orderService.ChangeGoods(order, false, name);
                                Console.WriteLine("是否继续删除");
                                str2 = Console.ReadLine();
                                if (str2 == "是")
                                {
                                    isContinue = true;
                                }
                                else if (str2 == "否")
                                {
                                    isContinue = false;
                                }
                                else
                                {
                                    Console.WriteLine("输入的指令有误");
                                }
                            } while (isContinue == true);
                        }
                    }
                }
            }

            else if (s == "删除订单")
            {
                Console.WriteLine("请输入需要删除的订单的一项信息(姓名或订单号):");
                string s1 = "";
                s1 = Console.ReadLine();
                orderService.DeleteOrder(s1);
            }

            else
            {
                Console.WriteLine("没有该项服务");
            }
        }