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; } } } }