Esempio n. 1
0
        public void TestAddAndRemoveItemFromOrder()
        {
            Pizza pizza = new Pizza()
            {
                Cost = 50
            };
            Pizza pizzaTwo = new Pizza()
            {
                Cost = 100
            };

            orderManager.AddItemToOrder(pizza);
            orderManager.AddItemToOrder(pizzaTwo);
            Assert.Contains(pizza, orderManager.CurrentOrder.Content);
            orderManager.RemoveItemFromOrder(pizza);
            CollectionAssert.DoesNotContain(orderManager.CurrentOrder.Content, pizza);
            Assert.Contains(pizzaTwo, orderManager.CurrentOrder.Content);
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            OrderManager manager = new OrderManager();

            User  CurrentUser = new User("789", "YYZ");
            Order NewOrder    = new Order("001", CurrentUser);

            manager.AddOrder(NewOrder);

            OrderItem NewItem = new OrderItem("10001", "精品蔬菜", 5, 5);

            manager.AddItemToOrder("001", NewItem);
            NewItem = new OrderItem("10002", "精品水果", 10, 2);
            manager.AddItemToOrder("001", NewItem);

            CurrentUser = new User("987", "AAA");
            NewOrder    = new Order("002", CurrentUser);
            manager.AddOrder(NewOrder);

            NewItem = new OrderItem("10001", "精品蔬菜", 5, 10);
            manager.AddItemToOrder("002", NewItem);
            NewItem = new OrderItem("10003", "精品猪肉", 50, 1);
            manager.AddItemToOrder("002", NewItem);

            string str1, str2, str3;
            double price; int count;

            while (true)
            {
                Console.WriteLine("---------------------------------");
                Console.WriteLine("欢迎使用YYZ的订单查询系统!\n操作码:(a)添加订单 (b)向指定订单添加商品 (c)删除订单 (d)删除商品\n(e)查询订单号 (f)查询含有某商品的订单 (g)查询某用户的订单\n(h)显示所有订单 (i)对所有订单按编号排序 (x)退出");
                Console.Write("请输入操作码:");
                string str = Console.ReadLine();
                char   op;
                while (!char.TryParse(str, out op))
                {
                    Console.WriteLine("非法字符!请重新输入!");
                    str = Console.ReadLine();
                }
                try
                {
                    switch (op)
                    {
                    case 'a':
                        Console.WriteLine("请输入订单号:");
                        str1 = Console.ReadLine();
                        Console.WriteLine("请输入用户ID:");
                        str2 = Console.ReadLine();
                        Console.WriteLine("请输入用户名称:");
                        str3 = Console.ReadLine();
                        Console.WriteLine("---------------------------------");
                        CurrentUser = new User(str2, str3);
                        NewOrder    = new Order(str1, CurrentUser);
                        manager.AddOrder(NewOrder);
                        break;

                    case 'b':
                        Console.WriteLine("请输入订单号:");
                        str1 = Console.ReadLine();
                        Console.WriteLine("请输入商品编号:");
                        str2 = Console.ReadLine();
                        Console.WriteLine("请输入商品名称:");
                        str3 = Console.ReadLine();
                        Console.WriteLine("请输入商品单价:");
                        price = double.Parse(Console.ReadLine());
                        Console.WriteLine("请输入商品数量:");
                        count = int.Parse(Console.ReadLine());
                        Console.WriteLine("---------------------------------");
                        NewItem = new OrderItem(str2, str3, price, count);
                        manager.AddItemToOrder(str1, NewItem);
                        break;

                    case 'c':
                        Console.WriteLine("请输入订单号:");
                        str1 = Console.ReadLine();
                        Console.WriteLine("---------------------------------");
                        manager.DeleteOrder(str1);
                        break;

                    case 'd':
                        Console.WriteLine("请输入订单号:");
                        str1 = Console.ReadLine();
                        Console.WriteLine("请输入商品编号:");
                        str2 = Console.ReadLine();
                        Console.WriteLine("---------------------------------");
                        NewItem = new OrderItem(str2);
                        manager.DeleteItemInOrder(str1, NewItem);
                        break;

                    case 'e':
                        Console.WriteLine("请输入订单号:");
                        str1 = Console.ReadLine();
                        Console.WriteLine("---------------------------------");
                        manager.FindOrderNumber(str1);
                        break;

                    case 'f':
                        Console.WriteLine("请输入商品编号:");
                        str2 = Console.ReadLine();
                        Console.WriteLine("---------------------------------");
                        NewItem = new OrderItem(str2);
                        manager.FindItem(NewItem);
                        break;

                    case 'g':
                        Console.WriteLine("请输入用户ID:");
                        str2 = Console.ReadLine();
                        Console.WriteLine("---------------------------------");
                        CurrentUser = new User(str2, null);
                        manager.FindCustomer(CurrentUser);
                        break;

                    case 'h':
                        Console.WriteLine("---------------------------------");
                        manager.GetAll(); break;

                    case 'i':
                        Console.WriteLine("---------------------------------");
                        manager.SortOrder(); break;

                    case 'x': break;

                    default: Console.WriteLine("无效操作符!"); break;
                    }
                }
                catch (EditFailException e)
                {
                    Console.WriteLine("操作失败,原因:" + e.message);
                }
                if (op == 'x')
                {
                    break;
                }
            }
        }
Esempio n. 3
0
 public ActionResult <OrderItemDTO> AddItemToOrder(CreateOrderItemDTO entityToCreate)
 {
     try { return(_orderManager.AddItemToOrder(entityToCreate)); }
     catch (BaseCustomException ex) { return(BadRequest(ex.Message)); }
 }