protected void updateUser_Click(object sender, EventArgs e) { Label1.Text = ""; T_ReceiptHead head = new T_ReceiptHead(); head.CustomerName = txt_customer.Text; if (!string.IsNullOrEmpty(head.CustomerName)) { head.CustomerCode = getCusIDByName(head.CustomerName); if (string.IsNullOrEmpty(head.CustomerCode)) { Label1.Text = "输入的公司名称不对,请输入关键字然后从下拉框中选择!"; return; } } head.ReceiptId = txt_recetpt_no.Text; head.ReceiptDate = DateTime.Parse(d_date.Text); head.ReceiptType = ddl_receipt_type.SelectedValue; head.AccountId = ddl_account.SelectedValue; if (!String.IsNullOrEmpty(txt_amount.Text) && Decimal.Parse(txt_amount.Text) > 0) { head.Amount = Decimal.Parse(txt_amount.Text); } else { Label1.Text = "该收款单金额不能为0。"; return; } head.Currency = ddl_currency.SelectedValue; if (!string.IsNullOrEmpty(txt_receipt_charge.Text)) { head.ReceiptCharge = Decimal.Parse(txt_receipt_charge.Text); } head.FDeptID = Int32.Parse(ddl_department.SelectedValue); head.FEmpID = Int32.Parse(ddl_emp.SelectedValue); head.FPreparer = Int32.Parse(ddl_preparer.SelectedValue); head.FChecker = Int32.Parse(ddl_checker.SelectedValue); head.FCheckDate = DateTime.Parse(check_date.Text); head.Note = txt_note.Text; head.FCheckStatus = (int)2; head.AuditStatus = 1; CommonAdapter ca = new CommonAdapter(); List <T_ReceiptList> lists = new List <T_ReceiptList>(); for (int i = 0; i < GridView1.Rows.Count; i++) { T_ReceiptList list = new T_ReceiptList(); list.ReceiptId = head.ReceiptId; list.ReceiptNo = Int32.Parse((GridView1.Rows[i].Cells[0].FindControl("lbl_gno") as Label).Text); string fbillno = (GridView1.Rows[i].Cells[1].FindControl("txt_bill_no") as TextBox).Text; if (string.IsNullOrEmpty(fbillno)) { continue; } list.FBillNo = fbillno; list.FDate = DateTime.Parse((GridView1.Rows[i].Cells[2].FindControl("lbl_fdate") as Label).Text); list.FAmountFor = Decimal.Parse((GridView1.Rows[i].Cells[3].FindControl("lbl_amountfor") as Label).Text); list.FReceiveAmountFor = Decimal.Parse((GridView1.Rows[i].Cells[4].FindControl("lbl_freceiveamountfor") as Label).Text); list.FUnReceiveAmountFor = Decimal.Parse((GridView1.Rows[i].Cells[5].FindControl("lbl_funreceiveamountfor") as Label).Text); string fcheckamountfor = (GridView1.Rows[i].Cells[6].FindControl("txt_fcheckamountfor") as TextBox).Text; if (string.IsNullOrEmpty(fcheckamountfor)) { Label1.Text = "核销金额不能为空"; return; } list.FCheckAmountFor = Decimal.Parse(fcheckamountfor); list.FCurrencyID = ca.getIDByCurrency((GridView1.Rows[i].Cells[7].FindControl("lbl_fcurrencyid") as Label).Text); list.FNote = (GridView1.Rows[i].Cells[8].FindControl("txt_note") as TextBox).Text; if (list.FUnReceiveAmountFor - list.FCheckAmountFor == 0) { list.FCheckStatus = 2; } else { list.FCheckStatus = 1; head.FCheckStatus = 1; } lists.Add(list); } for (int i = 0; i < GridView2.Rows.Count; i++) { T_ReceiptList list = new T_ReceiptList(); list.ReceiptId = head.ReceiptId; list.ReceiptNo = GridView1.Rows.Count + Int32.Parse((GridView2.Rows[i].Cells[0].FindControl("lbl_gno") as Label).Text); string indecreaseno = (GridView2.Rows[i].Cells[1].FindControl("txt_bill_no") as TextBox).Text; if (string.IsNullOrEmpty(indecreaseno)) { continue; } list.IndecreaseNo = indecreaseno; list.FAmountFor = Decimal.Parse((GridView2.Rows[i].Cells[3].FindControl("lbl_amount_all") as Label).Text); lists.Add(list); } List <T_ReceiptList> listsFromDeposit = new List <T_ReceiptList>(); foreach (GridViewRow gvr in GridView3.Rows) { T_ReceiptList list = new T_ReceiptList(); list.ReceiptId = head.ReceiptId; list.ReceiptNo = GridView1.Rows.Count + GridView2.Rows.Count + Int32.Parse((gvr.Cells[0].FindControl("lbl_gno") as Label).Text); string deposit_id = (gvr.Cells[1].FindControl("txt_deposit_id") as TextBox).Text; if (string.IsNullOrEmpty(deposit_id)) { continue; } list.DepositId = deposit_id; list.FDate = DateTime.Parse((gvr.Cells[2].FindControl("lbl_agent_date") as Label).Text); list.FNote = (gvr.Cells[9].FindControl("txt_note") as TextBox).Text; list.FCurrencyID = ca.getIDByCurrency((gvr.Cells[7].FindControl("lbl_fcurrencyid") as Label).Text); list.FAmountFor = Decimal.Parse((gvr.Cells[3].FindControl("lbl_amount_all") as Label).Text); list.FReceiveAmountFor = Decimal.Parse((gvr.Cells[4].FindControl("lbl_freceiveamountfor") as Label).Text); list.FUnReceiveAmountFor = Decimal.Parse((gvr.Cells[5].FindControl("lbl_funreceiveamountfor") as Label).Text); string str_deposit_checkamountfor = (gvr.Cells[6].FindControl("txt_deposit_checkamountfor") as TextBox).Text; if (string.IsNullOrEmpty(str_deposit_checkamountfor)) { Label1.Text = "核销金额不能为空"; return; } list.FCheckAmountFor = Decimal.Parse(str_deposit_checkamountfor); if (list.FUnReceiveAmountFor - list.FCheckAmountFor == 0) { list.FCheckStatus = 2; } else { list.FCheckStatus = 1; head.FCheckStatus = 1; } listsFromDeposit.Add(list); } List <T_ReceiptList> addtodonelists = addBillNoToDone(lists, head); List <T_ReceiptList> checkStatusLists = addInDecreaseNoToDone(lists); try { //保存数据 ReceiptAuditAdapter raa = new ReceiptAuditAdapter(); InDecreaseAdapter ida = new InDecreaseAdapter(); DepositAdapter da = new DepositAdapter(); raa.addReceiptHead(head); raa.insertReceiptList(lists); raa.insertReceiptList(listsFromDeposit); //TODO:更新销售发票的check_status,增减单的check_status raa.addToDone(addtodonelists); //把销售发票号加入已做列表中 ida.updateHeadCheckStatus(checkStatusLists); //更新增减单的check_status值为2; if (ddl_receipt_type.SelectedValue == "B") { da.updateHeadIsPayed(listsFromDeposit); } else { da.updateHeadCheckStatus(listsFromDeposit);//更新定金单的check_status值; } Label1.Text = "哟,小伙子,不错,被你录入成功了"; } catch (Exception ex) { Label1.Text = ex.Message; } }