Пример #1
0
        private void btnSubmitOrder_Click(object sender, EventArgs e)
        {
            LogHelper.WriteLog("<提交订单>", LogType.Status);
            dgvOrder.EndEdit();

            List <string> unselectedorderNoList = new List <string>();

            foreach (DataGridViewRow dr in dgvOrder.Rows)
            {
                if (!Convert.ToBoolean(dr.Cells["ColSelected"].Value))//筛选出没选中的,移除,剩下的就是选中的。
                {
                    unselectedorderNoList.Add(dr.Cells["ColOrderNo"].Value.ToString());
                }
            }
            foreach (string orderNo in unselectedorderNoList)
            {
                ExOrder selectedOrder = _orderList.Find(order =>
                {
                    if (order.OrderNo == orderNo)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                });

                _orderList.Remove(selectedOrder);
            }

            if (_orderList.Count <= 0)
            {
                MessageBox.Show("抱歉,您没有选中任何一个订单!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            OrderDAL       orderData = new OrderDAL(_reqSession);
            ProductTypeDAL typeDate = new ProductTypeDAL(_reqSession);
            int            orderid, itemid;

            foreach (ExOrder objOrder in _orderList)
            {
                //判断订单是否存在
                if (orderData.Exists(objOrder))
                {
                    LogHelper.WriteLog($"检测到订单{objOrder.OrderNo}已经存在!", LogType.Status);
                    DialogResult result = MessageBox.Show($"订单{objOrder.OrderNo}已经存在\n点击【是】\n点击【否】\n点击【取消】", "警告", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
                    return;
                }
                else
                {
                    orderid = orderData.AddOrder(objOrder);
                    if (orderid > 0)
                    {
                        foreach (ExOrderItem item in objOrder.ItemList)
                        {
                            //检测产品类型是否存在,
                            if (typeDate.Exists(item.ProductType))
                            {
                                itemid = orderData.AddOrderItem(item, orderid, 1002, typeDate.GetIndex(item.ProductType));
                                if (itemid <= 0)//添加失败
                                {
                                    orderData.DelOrder(objOrder);
                                }
                            }
                        }
                    }
                    else
                    {
                        DialogResult result = MessageBox.Show($"订单【{objOrder.OrderNo}】提交失败!", "错误", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Error);

                        return;
                    }
                }
            }
        }