private void btnReturn_Click(object sender, EventArgs e) { var reason = this.txtReason.Text; if (string.IsNullOrEmpty(reason)) { MessageBox.Show("请填写退货原因!"); return; } ReturnInfo info = new ReturnInfo() { ReturnDocId = Guid.NewGuid(), ReturnDocNo = this.lblReturnNo.Text, ReturnTime = DateTime.Now, OperatorId = _userInfo.Id, Price = Convert.ToDecimal(this.lblPrice.Text), Reason = this.txtReason.Text }; var dt = this.dataGridView1.DataSource as List <ReturnClientInfo>; if (dt == null || dt.Count == 0) { MessageBox.Show("没有可以退货的产品!"); return; } var rows = dt.FindAll(p => p.IsSelected == "True"); if (rows == null || rows.Count == 0) { MessageBox.Show("请选择要退货的商品!"); return; } List <ReturnDetailInfo> details = new List <ReturnDetailInfo>(); foreach (var item in rows) { ReturnDetailInfo detail = new ReturnDetailInfo() { ReturnDetailDocId = Guid.NewGuid(), ReturnDocId = info.ReturnDocId, CommodityId = item.CommodityId, Count = item.Count, WarehouseId = item.WarehouseId, Price = item.Price }; details.Add(detail); } string errText = ""; int i = _returnInfoService.ReturnOrder(out errText, info, details); if (i <= 0) { MessageBox.Show(errText); return; } MessageBox.Show("退货成功!"); }
/// <summary> /// 新增一条退货信息 /// </summary> /// <param name="errText"></param> /// <param name="returnInfo"></param> /// <returns></returns> public int InsertEntity(out string errText, ReturnDetailInfo returnInfo) { errText = ""; try { using (SqlConnection conn = new SqlConnection(SQL_CON)) { var sql = "insert into ReturnDetailDoc (ReturnDetailDocId,ReturnDocId,CommodityId,Count,WarehouseId,Price) " + "values(@ReturnDetailDocId,@ReturnDocId,@CommodityId,@Count,@WarehouseId,@Price)"; conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("@ReturnDetailDocId", returnInfo.ReturnDetailDocId); cmd.Parameters.AddWithValue("@ReturnDocId", returnInfo.ReturnDocId); cmd.Parameters.AddWithValue("@CommodityId", returnInfo.CommodityId); cmd.Parameters.AddWithValue("@Count", returnInfo.Count); cmd.Parameters.AddWithValue("@WarehouseId", returnInfo.WarehouseId); cmd.Parameters.AddWithValue("@Price", returnInfo.Price); var i = cmd.ExecuteNonQuery(); conn.Close(); return(i); } } catch (Exception ex) { errText = ex.Message; return(0); } }