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("退货成功!");
        }
예제 #2
0
 /// <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);
     }
 }