コード例 #1
0
        public async Task <IHttpActionResult> PostOrder(Order order)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            order.Id          = Guid.NewGuid();
            order.OrderCode   = DateTime.Now.ToString("yyMMddhhmmss");
            order.ComplteDate = DateTime.Now;
            foreach (var item in order.OrderItems)
            {
                item.Id = Guid.NewGuid();
                foreach (var p in item.Persons)
                {
                    p.OrderItemId = item.Id;
                }
                item.OrderId = order.Id;
            }
            order.Remark = "创建订单";
            db.Orders.Add(order);

            try
            {
                await db.SaveChangesAsync();

                OrderListItemView oltv = new OrderListItemView();
                oltv.Id           = order.Id;
                oltv.OrderCode    = order.OrderCode;
                oltv.OrderDate    = order.OrderDate;
                oltv.OrderStatus  = order.OrderStatus;
                oltv.CustomerName = order.Customer.CName;
                oltv.Contract     = order.Customer.CPhone;
                oltv.ProductNames = order.OrderItems.Select(oi => oi.Describe).ToList <string>();
                oltv.Remark       = order.Remark;
                return(Ok(oltv));
            }
            catch (DbUpdateException)
            {
                if (OrderExists(order.Id))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }
        }
コード例 #2
0
        public void InitList()
        {
            OrderListWrapper.Controls.Clear();

            for (int i = 0; i < Orders.Count; ++i)
            {
                OrderListItemView orderInfoView = new OrderListItemView(i, Orders[i]);
                orderInfoView.Top = ROW_HEIGHT * i;

                orderInfoView.OnOrderDeleted += (sender, e) =>
                {
                    Orders.RemoveAt(e.Number);
                    InitList();
                };

                orderInfoView.OnOrderEdited += (sender, e) =>
                {
                    EditOrderForm editForm = new EditOrderForm(Platforms, Orders[e.Number]);
                    editForm.ShowDialog();
                    InitList();
                };

                orderInfoView.OnOrderUp += (sender, e) =>
                {
                    if (MoveOrder(e.Number, e.Number - 1))
                    {
                        InitList();
                    }
                };

                orderInfoView.OnOrderDown += (sender, e) =>
                {
                    if (MoveOrder(e.Number, e.Number + 1))
                    {
                        InitList();
                    }
                };

                OrderListWrapper.Controls.Add(orderInfoView);
            }
        }