保存修改订单

	开发工具与关键技术:Visual Studio 2015
	作者:杨镇虹
	撰写时间:2021.05.07
	
一、保存修改订单
//保存修改订单订货按钮
  private void btnSave_Click(object sender, RoutedEventArgs e)
  {
      try
      {
   int intcount = 0;//修改订货条数
   //判断页面数据是否不为空
   if (tex_OrderOdd.Text.ToString().Trim() != "" && tex_OrderDate.Text.ToString().Trim() != "" && Convert.ToInt32(tex_ClientName.SelectedValue) > 0 && Convert.ToInt32(tex_MaterialEtc.SelectedValue) > 0 && tex_Remark.Text.ToString().Trim() != "" && tex_ReachDate.Text.ToString().Trim() != "")
    {
     //获取页面数据
     string strOrderOdd = tex_OrderOdd.Text.ToString().Trim();//订单号
     DateTime strOrderDate = Convert.ToDateTime(tex_OrderDate.Text.ToString().Trim());//下单日期
      int intClientName = Convert.ToInt32(tex_ClientName.SelectedValue);//订货人
      int intMaterialEtc = Convert.ToInt32(tex_MaterialEtc.SelectedValue);//供货单位 DateTime dtReachDate = Convert.ToDateTime(tex_ReachDate.Text.ToString().Trim());//到货日
     string strRemark = tex_Remark.Text.ToString().Trim();//备注
     int intOrderID = Convert.ToInt32(dtOrder.Rows[0]["OrderID"]);//订单ID
    //判断到货日期不能小于下单日期
    if (dtReachDate >= strOrderDate)
    {
        //声明一个变量-接收选中了多少个多选框
        int intchked = 0;//项数
        //声明一个变量-接收合计金额
        int intPerMoney = 0;//每一项的合计金额
  int intMoney = 0;//总合计金额
  int intPartsID = 0;//零件ID
  int intOrderGoodsRequired = 0;//订货数
//for循环-订货零件表的条数  获取选择零件项数和总合计金额
  //for循环获取 项数和合计总金额
 for (int i = 0; i < dgOrderGoodsParts.Items.Count; i++)
   {
 //判断是否选中多选框
 if (Convert.ToBoolean(dtOrderGoodsParts.Rows[i]["chked"]) == true)
 {
        intchked++;
        intPartsID = Convert.ToInt32(((DataRowView)dgOrderGoodsParts.Items[i]).Row["PartsID"]);//获取零件ID
       intOrderGoodsRequired = Convert.ToInt32(((DataRowView)dgOrderGoodsParts.Items[i]).Row["OrderGoodsRequired"]);//订货数
int intPrice = Convert.ToInt32(((DataRowView)dgOrderGoodsParts.Items[i]).Row["Price"]);//订货单价                                                                                                               //判断订货数是否大于零
   if (intOrderGoodsRequired > 0)
   {
       intPerMoney = intOrderGoodsRequired * intPrice;//订货数跟订货单价相乘
                intMoney += intPerMoney;//合计金额
            }
        }
    } 
    string strTermsNumber = tex_TermsNumber.Text = intchked.ToString();//赋值项数
    string strMoney = tex_Money.Text = intMoney.ToString();//赋值合计金额
     //判断订单状态是否未收货 如果未收货可以进行修改
     if(intStatus == 0)
     {
         int intcounts = myClient.btnSave_Click_UpdateOrder(strOrderOdd, strOrderDate, strTermsNumber, strMoney, dtReachDate, strRemark, intMaterialEtc, intClientName, intOrderID); //执行修改订单表
  if (intcounts > 0)
  {
      int intOGount = 0; //记录批量删除 订货数据的条数
      //for 循环批量删除   根据订单ID 查询出的订货数据 
      for (int i = 0; i < dtOrderGoods.Rows.Count; i++)
      {
          int intOrderGoodsID = Convert.ToInt32(dtOrderGoods.Rows[i]["OrderGoodsID"]);//获取订货ID
 //进行删除                                   myClient.UserControl_Delete_OrderGoods(intOrderGoodsID);
         intOGount++;//删除条数自加1
     }
     //判断根据订单ID 查询出的订货的数据行数是否等于 批量删除订货数据的条数
   if (dtOrderGoods.Rows.Count == intOGount)
   {
       //for循环页面所有数据  重新 批量新增订货数据
       for (int j = 0; j < dgOrderGoodsParts.Items.Count; j++)
  {
 if (Convert.ToBoolean(dtOrderGoodsParts.Rows[j]["chked"]) == true)
  {
 int intParts = Convert.ToInt32(((DataRowView)dgOrderGoodsParts.Items[j]).Row["PartsID"]);//获取零件ID
int intOrderGoodsRequireds = Convert.ToInt32(((DataRowView)dgOrderGoodsParts.Items[j]).Row["OrderGoodsRequired"]);//商品数量                                                                                                                                                    //根据零件ID 查询数据转换表格
DataTable dtGoods = myClient.Select_GoodsID(intParts).Tables[0];
for (int g = 0; g < dtGoods.Rows.Count; g++)
  {
   int intGoodsID = Convert.ToInt32(dtGoods.Rows[0]["GoodsID"]);//获取商品ID
   int intp = 1;
   //新增订货表
   intcount = Convert.ToInt32(myClient.btnSave_Click_OrderGoods(intGoodsID, intOrderID, intp, intOrderGoodsRequireds.ToString()));
           }
       }
   }
   //判断是否大于零 修改成功
   if (intcounts > 0 || intcount > 0)
   {
    MessageBoxResult dr = MessageBox.Show("修改订单成功!", "系统提示", MessageBoxButton.OK, MessageBoxImage.Information);
   if (dr == MessageBoxResult.OK){
       this.Close();//关闭窗口}
   }else{
       MessageBox.Show("修改失败", "系统提示");}
       }
   }
   }else{
                            MessageBox.Show("该订单已收货,不能进行修改!", "系统提示", MessageBoxButton.OK, MessageBoxImage.Exclamation);}
   }else{
       MessageBox.Show("到货日期不能小于下单日期!", "系统提示", MessageBoxButton.OK, MessageBoxImage.Warning);}
   }else{
       MessageBox.Show("请填写完整页面数据!", "系统提示", MessageBoxButton.OK, MessageBoxImage.Warning); }
            }catch (Exception ex) {
                MessageBox.Show("数据异常" + ex.ToString(), "系统提示", MessageBoxButton.OK, MessageBoxImage.Error); }
        }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值